2013-08-28 6 views
7

Bir radyo düğmesinin simgesini gizlemem gerekiyor: onu görünmez olarak ayarlamak gibi bir şey, ancak yalnızca simge değil, metni de (setInvisible metni de gizler). Simge hala alan almalı, böylece metin diğer radyo düğmelerininkiyle aynı hizada olmalıdır. Ayrıca, radyo düğmesi (metni) tıklanabilir olmalıdır. Başka bir deyişle, ikonun "şeffaf" (görünür değil) olması, ancak başka türlü "orada" olması: ben tıklanabilir olması, yer alması.Telsiz düğme simgesini gizle ama metin değil

Bu program aracılığıyla XML'de yapmam gerekiyor.

Herhangi bir fikrin var mı?

+1

kaldıracaktır android:button="@null" ayarlayın ve bunun solunda RadioButtons açıklamasını içeren bir TextView'un için. –

+0

@MBennett Teşekkürler, ama bu XML. Java –

+0

@PhilippJahoda'da buna eşdeğer olması gerekir İyi bir fikir, ancak benim durumumda uygulamak zor çünkü butonu "normal" ten "hayır" simgesine çevirmem gerekiyor ve geri –

cevap

21

XML:

<RadioButton 
    android:paddingLeft="31dp" 
    android:button="@android:color/transparent" /> 

Java:

RadioButton myButton = (RadioButton) findViewById(R.id.radio); 
    myButton.setButtonDrawable(android.R.color.transparent); 
    myButton.setPadding(31, 0, 0, 0); 

setPadding() Piksel Geciktirme temsil int değerler alır gerektiği gibi [email protected] böylece Geciktirme ayarlamak bkz.

+0

@MBennett Teşekkürler. "31dp" (dizge) "setPadding" için bir ilk argüman olarak izin verilmemesi dışında çalışır. Ben (int) (31 * getResources(). GetDisplayMetrics(). Yoğunluk + 0.5f "olarak değiştirdim, böylece 31dp'den piksele dönüşür. Belki de cevabınızı buna göre değiştirmek istersiniz. dar, belki de genişliği ile oynamak zorunda kalacağım mı yoksa yanlış dönüşüm yaptım mı? –

+1

34dp (piksellere dönüştürülür) Android 4.0 çalışıyor görünüyor. 2.3 biraz daha büyük bir değer gereklidir –

+0

Bu benim için çalışır ' myButton.setButtonDrawable (android.R.color.transparent); 'myButton.setButtonDrawable (null);' teşekkürler. – CrandellWS

1

Hiçbir Metin ile RadioButton oluşturabilir varsayılan radyo simgesini

<RadioButton 
    android:id="@+id/rb1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:button="@null" 
    android:text="Female" />