2013-07-30 5 views
0

Я пытаюсь создать HorizontalScrollView, который будет ровно в 3 раза больше ширины экрана. Я пробовал следующий код, но прокрутка не будет прокручиваться. Как я могу установить его так, чтобы 3 LinearLayouts внутри основного LinearLayout имели ширину экрана?HorizontallScrollView с страницами автоподгонки

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android" 

      android:layout_width="match_parent" 
      android:layout_height="match_parent" 
      android:fillViewport="true"> 

<!-- the container for all the pages --> 
<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="horizontal"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="100dp" 
     android:background="#000000"/> 

    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:background="#FF0000"/> 
    <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="100dp" 
      android:background="#FF0000"/> 
</LinearLayout> 

Обратите внимание, что, если я даю LinearLayouts определенную ширину, то Scrollview делает свиток, но мне нужно каждый LinearLayout иметь ширину экрана.

+0

Определите ширину экрана программно, а затем установите ширину 'LinearLayouts', чтобы она соответствовала этой ширине. Тогда в контейнере должно быть 'android: layout_width =" wrap_content ", может быть? – g00dy

+0

@ g00dy Как я могу определить ширину экрана программно в файле xml? – RunLoop

+0

Почему вы хотите иметь его в макете? Это звучит для меня как hardcoding, но это не будет одинаковым для каждого устройства. Так что я думаю, что делать это в коде (программно) - это путь? – g00dy

ответ

0

Вам нужно будет использовать wrap_content на вашем верхнем LinearLayout и программно настроить ширину дочернего LinearLayouts.

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