2013-11-25 4 views
-4

Я хочу сделать сегментированный элемент управления в android (как в iOS) для переключения между полами. Есть ли у такого вида виджетов Android?Сегментированный контроль в Android, как в iOS

Ниже представление:

enter image description here

+4

Почему не просто два 'ImageView'? –

+0

Потому что я не хочу: 3 – berserk

+0

«Я не хочу», это не повод. То, что вы описываете, лучше всего достигается с двумя видами, ваш дизайн кажется ошибочным в связи с вашей проблемой. –

ответ

1

Попробуйте, как показано ниже:

<LinearLayout 
    android:id="@+id/nl_rllayut" 
    android:layout_width="fill_parent" 
    android:layout_height="wrap_content" 
    android:weightSum="1" > 

    <FrameLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight=".5" > 

     <Button 
      android:id="@+id/nl_btn1" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="MALE" 
      android:background="@android:color/black" 
      android:textColor="@android:color/white" /> 
    </FrameLayout> 

    <FrameLayout 
     android:layout_width="0dp" 
     android:layout_height="wrap_content" 
     android:layout_weight=".5" > 

     <Button 
      android:id="@+id/nl_btn2" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:text="FEMALE" 
      android:background="@android:color/darker_gray" 
      android:textColor="@android:color/white" /> 
    </FrameLayout> 
</LinearLayout> 

Выход:

enter image description here

+0

Мне не нужны отдельные кнопки, у меня есть одно изображение в виде графики и вы хотите добавить на него виды. – berserk

+0

Лучше сделайте свой вопрос более ясным. – GrIsHu

+0

Либо вы делаете свой собственный селектор для обеих кнопок отдельно, и управляете им на основе выбора, либо получаете два отдельных изображения для выбранных и снятых кадров. – GrIsHu

0

Есть способ сделать это:

<FrameLayout 
      android:id="@+id/a4" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_alignLeft="@+id/a1" 
      android:layout_alignRight="@+id/a1" 
      android:layout_below="@+id/a3" > 


      <ImageView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_marginTop="10dp" 
       android:contentDescription="@string/cD" 
       android:src="@drawable/signup_17" /> 

      <LinearLayout 
       android:layout_width="fill_parent" 
       android:layout_height="wrap_content" 
       android:orientation="horizontal" > 

       <View 
        android:id="@+id/signup_male" 
        android:layout_width="00dp" 
        android:layout_height="40dp" 
        android:layout_weight="0.50" 
        android:background="@android:color/transparent" /> 

       <View 
        android:id="@+id/signup_female" 
        android:layout_width="0dp" 
        android:layout_height="40dp" 
        android:layout_weight="0.50" 
        android:background="@android:color/transparent" /> 
      </LinearLayout> 

     </FrameLayout> 

Единственная проблема в том, если я дам заполнить родителя высоты этих взглядов, они занимают все пространство родителя (даже по горизонтали), что очень странно и Я не могу понять, почему.

Смежные вопросы