Buttons aktiv lassen/machen?

  • 6 Antworten
  • Letztes Antwortdatum
impidan

impidan

Dauer-User
122
moin,

ich bastel gerade an einer App mit einer Tabbar.

Code:
<LinearLayout
     android:id="@+id/menubottom"
     android:layout_width="fill_parent"
     android:layout_height="60dp"
     android:background="@drawable/bottom_bar"
     android:orientation="horizontal"
     android:paddingTop="3dp" >

<Button
    android:id="@+id/buttonHome"
    android:layout_width="10dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:background="@android:color/transparent"
    android:drawableTop="@drawable/home"
    android:scaleType="fitCenter"
    android:text="Home"
    android:textAlignment="textEnd"
    android:textColor="#999999"
    android:textSize="9sp"
    android:onClick="tohome"
    android:textStyle="normal" />

<Button
    android:id="@+id/buttonNews"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:background="@android:color/transparent"
    android:drawableTop="@drawable/button_news"
    android:text="News"
    android:textColor="#999999"
    android:textSize="9sp"
    android:onClick="tonews"
    android:textStyle="normal" />

<Button
    android:id="@+id/buttonSchedules"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:background="@android:color/transparent"
    android:drawableTop="@drawable/button_schedules"
    android:text="My Schedules"
    android:onClick="toschedules"
    android:textColor="#999999"
    android:textSize="9sp"
    android:textStyle="normal" />

<Button
    android:id="@+id/buttonSettings"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_weight="2"
    android:background="@android:color/transparent"
    android:drawableTop="@drawable/button_settings"
    android:text="Settings"
    android:textColor="#999999"
    android:textSize="9sp"
    android:textStyle="normal" />

</LinearLayout>

Ich habe, um die Buttons einzufärben ein XML benutzt, was über den Button dann aufgerufen wird (erst mal nur bei dem ersten)

Code:
 android:drawableTop="@drawable/home"

home.xml

Code:
<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/home_active" android:state_pressed="true" />
    <item android:drawable="@drawable/button_home" />
</selector>

Der Button verändert auch seine Farbe entsprechend der hinterlegten drawables, allerdings nur wenn ich Drücke (und auch wenn ich halte), aber nach dem Touch wird er wieder grau. Was muss ich für eine Angabe machen damit er eingefärbt bleibt?

Danke euch!
 
Öhm, deinem drawableTop einfach sagen dass es bei einem klick @drawable/home_active nehmen soll :O
Geht, soweit ich weiß, nur im Quelltext....
Code:
onClick {
  if(bttnHome) {
    // Mach dich home_active
  } else {
    // mach dich button_home
  }
}
 
  • Danke
Reaktionen: impidan
weißt du zufällig ob es dafür auch eine syntax für meinen onClick gibt:

button

Code:
 [...]
android:onClick="tohome"
[...]

java
Code:
    public void tohome(View view) {
    	WebView myWebView = (WebView) findViewById(R.id.abcWebView);
    	myWebView.loadUrl("http://www.bild.de");
    }
 
Wie ne Syntax? :o :ohmy:
 
  • Danke
Reaktionen: impidan
egal, habs jetzt umgebaut :D

Code:
b3.setOnClickListener(new OnClickListener()
	    {
		    public void onClick(View v)
			    {
		    	WebView myWebView = (WebView) findViewById(R.id.abcWebView);
		    	// news url comes here
		    	myWebView.loadUrl("http://www.domain.de");
			    Log.d("TAG", "Clicked 3!");
			    b3.setCompoundDrawablesWithIntrinsicBounds(0,R.drawable.button_home_active,0,0);


danke!
 
Als tipp:
Anstatt den Button final zu deklarieren kannst du auch das View in der onClick nehmen. Das ist nämlich das View, welches gedrückt worden ist ;)

Zweiter Tipp:
Du kannst ruhig den Danke button auch drücken :flapper:

Gruß
 
  • Danke
Reaktionen: impidan
Dank dir (ehrlich :) ) werde da eh noch ein bisschen am Gesamtkonstrukt rumwerken.
 
Zurück
Oben Unten