2015-07-04 3 views
1

Я хочу создать свой пользовательский переключатель, я использовал HorizontalScrollView, у меня есть два LinearLayout, а child linear длиннее родительского, но прокрутка не работает, мой код здесь, есть ли предложение, почему не работает HorizontalScrollView?Android HorizontalScrollView с весом

<HorizontalScrollView 
     android:id="@+id/c_horizontal_scroll" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:fillViewport="true" 
     android:scrollbars="none"> 
     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="fill_parent" 
      android:weightSum="1.0"> 
      <LinearLayout 
       android:id="@+id/u_custom_switch_slide_efect" 
       android:layout_width="0dp" 
       android:layout_height="fill_parent" 
       android:layout_weight="1.5"> 
       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="0.33"> 
       </LinearLayout> 
       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="0.33" 
        android:background="@drawable/view_corner_green" 
        android:gravity="center"> 
        <TextView 
         android:id="@+id/c_selected_hint" 
         android:layout_width="fill_parent" 
         android:layout_height="wrap_content" 
         android:layout_alignParentLeft="true" 
         android:gravity="center" 
         android:text="Left" 
         android:textColor="@color/u_white" 
         android:textSize="@dimen/u_common_text_font_size" /> 
       </LinearLayout> 
       <LinearLayout 
        android:layout_width="0dp" 
        android:layout_height="fill_parent" 
        android:layout_weight="0.33" 
        android:background="@color/u_black"></LinearLayout> 
      </LinearLayout> 
     </LinearLayout> 
    </HorizontalScrollView> 

Спасибо!

ответ

0

Опция android:weightSum должна объявить максимальную сумму веса для дочернего элемента View, если не указано. Следовательно, вы не можете объявить android:weightSum="1.0" в LinearLayout, а затем android:layout_weight="1.5" его дочернему представлению. В качестве 1,5 это больше, чем общая сумма веса, которую может разрешить это представление. Посмотрите на documentation для более подробной информации.