Jetzt kostenlos registrieren: Mitglieder surfen ohne Werbung!

RadioButton mit Image - "Button" ausblenden

  • 6 Antworten
  • Neuester Beitrag
Diskutiere RadioButton mit Image - "Button" ausblenden im Android App Entwicklung im Bereich Betriebssysteme & Apps.
MetBo

MetBo

Erfahrenes Mitglied
Hallo,

ich habe mal wieder ein Problem mit dem Layout.

Mit der RadioGroup und zwei RadioButtons mit Image habe ich mir einen "Chooser" gebastelt (siehe Bild).


Jetzt ist die Frage, wie kann ich die RadioButtons ausblenden? Das Image des Buttons sollte aber noch dargestellt werden - auch die Funktionalität darf nicht beeinträchtigt werden.

Mein bisheriger Code:
Code:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:layout_width="fill_parent" android:layout_height="wrap_content"
	android:layout_gravity="center_horizontal">

	<RadioGroup android:layout_width="fill_parent"
		android:layout_height="wrap_content" android:orientation="horizontal"
		android:id="@+id/rgrpChooserArticlelist" android:layout_gravity="center_horizontal"
		android:background="@drawable/titlebar_background">

		<RadioButton android:id="@+id/radArticlesTdyArticlelist"
			android:background="@drawable/chooser_today_sel"
			android:layout_height="40dip" android:width="80dip"
			android:visibility="visible" android:layout_gravity="center" />

		<RadioButton android:id="@+id/radArticlesOldArticlelist"
			android:background="@drawable/chooser_older_sel"
			android:layout_height="40dip" android:width="80dip"
			android:visibility="visible" />

	</RadioGroup>

</LinearLayout>
Und, gibt es eine Möglichkeit, die Buttons zu zentrieren?

Danke,
Grüße
 

Anhänge

MetBo

MetBo

Erfahrenes Mitglied
Hat keiner eine Idee? :(
 
T

tobbbbi

Neues Mitglied
Also ich glaube ja nicht, dass man das auf einfache Art und Weise hinbekommt.
Da es feste Controls sind, die von sich aus keine derartige Funktionalität bieten, musst du wohl wenn dann tiefer gehen und den dich störenden Knopf mit Draw während der Laufzeit überpinseln.
Aber warum nimmst du nicht einfach zwei ImageButtons und lässt es nur zu, dass einer gleichzeitig selektiert ist? Warum bist du grade so auf die RadioButtons aus?
 
S

swordi

Gewerbliches Mitglied
damit gehts glaub ich

radio1.setCompoundDrawablesWithIntrinsicBounds(xxx)
 
T

tobbbbi

Neues Mitglied
Ist leider nicht das Richtige.
Diese Methode setzt lediglich ein drawable ZWISCHEN Text und dem selektierbaren RadioButton-Icon.

Habe aber noch was anderes gefunden.
public void setButtonDrawable (int resid)

Damit kannst du direkt das Bild für den RadioButton setzen und das Standardicon wird überzeichnet.

Vorteil: Du kannst dir die ImageView sparen, da du jetzt dein selbst erstelltes drawable direkt auf den RadioButton setzen kannst.

Nachteil: Es gibt so noch keine visuelle Anzeige von selektiert und nicht selektiert. Du musst also für den selektierten Zustand noch jeweils eine eigene Drawable erstellen (zB. mit Rahmen außen herum etc.) und in Abhängigkeit vom aktuellen Zustand über einen Eventhandler setzen.



swordi schrieb:
damit gehts glaub ich

radio1.setCompoundDrawablesWithIntrinsicBounds(xxx)
 
S

swordi

Gewerbliches Mitglied
ah dann hab ich die falsche methode genommen ;)

hab das mal gemacht, und auf die schnelle nur die zeile gefunden ;) ein versuch wars wert ;)
 
MetBo

MetBo

Erfahrenes Mitglied
Problem habe ich mit folgendem Code gelöst:

Code:
<RadioGroup android:layout_width="fill_parent"
		android:layout_centerHorizontal="true" android:orientation="horizontal"
		android:layout_height="wrap_content" android:id="@+id/rgrpChooserArticlelist"
		android:background="@drawable/titlebar_background" android:gravity="center">

		<RadioButton android:id="@+id/radArticlesTdyArticlelist"
			android:button="@drawable/chooser_today_sel" android:layout_height="40dip"
			android:width="100dip" android:visibility="visible" />

		<RadioButton android:id="@+id/radArticlesOldArticlelist"
			android:button="@drawable/chooser_older_sel" android:layout_height="40dip"
			android:width="100dip" android:visibility="visible" />

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

<selector 
	xmlns:android="http://schemas.android.com/apk/res/android" >
	
   	<item 
   		android:state_checked="true" 
   		android:state_window_focused="false" 
   		android:drawable="@drawable/chooser_today_press" /> 
  
  	<item 
  		android:state_checked="false" 
  		android:state_window_focused="false" 
  		android:drawable="@drawable/chooser_today" /> 
  	
  	<item 
  		android:state_checked="true" 
  		android:state_pressed="true" 
  		android:drawable="@drawable/chooser_today_press" /> 
  
  	<item 
  		android:state_checked="false" 
  		android:state_pressed="true" 
  		android:drawable="@drawable/chooser_today" /> 
  	
  	<item 
  		android:state_checked="true" 
  		android:state_focused="true" 
  		android:drawable="@drawable/chooser_today_press" /> 
  	
  	<item 
  		android:state_checked="false" 
  		android:state_focused="true" 
  		android:drawable="@drawable/chooser_today" /> 
  	
  	<item 
  		android:state_checked="false" 
  		android:drawable="@drawable/chooser_today" /> 
  
  	<item 
  		android:state_checked="true" 
  		android:drawable="@drawable/chooser_today_press" /> 
   	    
</selector>
Ich habe einfach einen Selector erstellt und diesen als "android:button" zugewiesen.

Danke
 
Ähnliche Themen - RadioButton mit Image - "Button" ausblenden Antworten Datum
0
4
1