2016-04-06 11 views
3

Ich habe eine Android-Anwendung, wo in einer Aktivität brauche ich eine Registerkarte wie Selektor, wo der Benutzer eine Option auswählen kann.Die 3 Optionen sind blau, grün, rot.Weniger Benutzer muss eine auswählen Einer von ihnen. Ich kann einen Spinner für diese verwenden. Aber ich mag eine runde Kante Tab wie Feature verwenden, die umschalten kann und das ausgewählte Element wird als hervorgehoben angezeigt und die anderen werden wie unten abgeblendet sein. Ich möchte nur der Benutzer in der Lage sein, nur eine der Schaltflächen umschalten.benutzer kann eine Option auswählen, indem Sie oder durch toggeln und die Ansicht sollte wie eine Leiste mit abgerundeten Rand aussehen.Wie oben Ansicht in Android implementieren? Bitte hilf mir.Android: Tab wie Umschalten Knopfauswahl statt Spinner

+0

Sie RadioButton- mit benutzerdefinierten Hintergrund für achiving dieses –

+0

@AbhishekPatel verwenden können aber ich will nicht der Radiokreis ist anwesend. Ich möchte nur, dass der Benutzer nur eine der Schaltflächen umschalten kann. Der Benutzer kann eine Option durch Klicken auf oder durch Umschalten auswählen und die Ansicht sollte wie eine Leiste mit abgerundeter Kante aussehen. – KJEjava48

+0

Ja, Sie können dies mit benutzerdefinierten Radiobutton –

Antwort

8

Versuchen wie diese

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
xmlns:azeoo="http://schemas.android.com/apk/res-auto" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:orientation="vertical" > 

<RadioGroup 
    android:id="@+id/rgTask" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:background="@drawable/round_border" 
    android:orientation="horizontal" > 

    <RadioButton 
     android:id="@+id/rbBlue" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/bg_blue" 
     android:button="@android:color/transparent" 
     android:gravity="center" 
     android:paddingBottom="5dp" 
     android:paddingTop="5dp" 
     android:singleLine="true" 
     android:text="Blue" 
     android:textSize="22sp" /> 

    <View 
     android:id="@+id/vSep1" 
     android:layout_width="1dp" 
     android:layout_height="match_parent" 
     android:background="#0000FF" 
     android:visibility="visible" /> 

    <RadioButton 
     android:id="@+id/rbGreen" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/bg_green" 
     android:button="@android:color/transparent" 
     android:gravity="center" 
     android:paddingBottom="5dp" 
     android:paddingTop="5dp" 
     android:singleLine="true" 
     android:text="Green" 
     android:textSize="22sp" /> 

    <View 
     android:id="@+id/vSep2" 
     android:layout_width="1dp" 
     android:layout_height="match_parent" 
     android:background="#0000FF" 
     android:visibility="visible" /> 

    <RadioButton 
     android:id="@+id/rbRed" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_weight="1" 
     android:background="@drawable/bg_red" 
     android:button="@android:color/transparent" 
     android:gravity="center" 
     android:paddingBottom="5dp" 
     android:paddingTop="5dp" 
     android:singleLine="true" 
     android:text="Red" 
     android:textSize="22sp" /> 
</RadioGroup> 

alle unter Datei setzen in Ihrem drawable Ordner bg_blue.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_checked="true"><shape android:shape="rectangle"> 
     <solid android:color="#0000FF" /> 

     <corners android:bottomLeftRadius="10dp" android:topLeftRadius="10dp" /> 
    </shape></item> 
<item><shape android:shape="rectangle"> 
     <solid android:color="#00000000" /> 
    </shape></item> 

</selector> 

bg_green.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_checked="true"><shape android:shape="rectangle"> 
     <solid android:color="#00FF00" /> 
    </shape></item> 
<item><shape android:shape="rectangle"> 
     <solid android:color="#00000000" /> 
    </shape></item> 

</selector> 

bg_red.xml

<?xml version="1.0" encoding="utf-8"?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"> 

<item android:state_checked="true"><shape android:shape="rectangle"> 
     <solid android:color="#FF0000" /> 

     <corners android:bottomRightRadius="10dp" android:topRightRadius="10dp" /> 
    </shape></item> 
<item><shape android:shape="rectangle"> 
     <solid android:color="#00000000" /> 
    </shape></item> 

</selector> 

round_border.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="rectangle" > 

<!-- view background color --> 
<solid android:color="#00000000" > 
</solid> 

<!-- view border color and width --> 
<stroke 
    android:width="1dp" 
    android:color="#0000FF" > 
</stroke> 

<!-- If you want to add some padding --> 


<!-- Here is the corner radius --> 
<corners android:radius="10dp" > 
</corners> 

</shape> 

und Ausgabe wie diese

enter image description here enter image description here enter image description here

+0

Das Layout scheint in Ordnung zu sein. Aber wähle ich ein Element aus, indem ich es wie in Android-Tabs durchwische. – KJEjava48

+0

ist es nicht möglich, wenn es möglich ist, warum Leute 'ViewPager' benutzen? das ist einfach und einfach –

+0

so muss ich einen Tab pager.right ?? – KJEjava48