2015-10-30 5 views
-1

Я пытаюсь реализовать макет, который разделен на 2 части. Верхняя часть может содержать текстовое представление, которое должно быть доступно для прокрутки, нижняя часть содержит текстовое изображение, и если этот экран расширяется, я хочу, чтобы весь экран прокручивался.Плагин Android с несколькими scrollview

Это то, что я до сих пор:

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

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="@android:color/holo_blue_bright" 
    android:padding="5dp"> 

    <LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:orientation="vertical" 
     android:weightSum="1"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="0.50" 
      android:background="@android:color/holo_green_dark" 
      android:orientation="vertical"> 

      <TextView 
       android:id="@+id/textView2" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="New Text" /> 
      <ScrollView 
       android:layout_width="wrap_content" 
       android:layout_height="fill_parent"> 
       <TextView 
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content" 
        android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sapien est, iaculis sed sodales at, tempus quis dui. Vivamus sem lacus, blandit et facilisis quis, interdum sed risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam erat turpis, tristique id velit non, lacinia gravida dui. Vestibulum at sodales odio, vitae cursus nulla. Aliquam erat volutpat. Ut placerat orci et urna fermentum consectetur. Cras ut feugiat sem. Ut vitae quam diam. Suspendisse eget ante quis sem pretium commodo. Sed blandit sollicitudin imperdiet. Suspendisse eget purus auctor, accumsan magna vitae, elementum metus. Maecenas iaculis eget odio eu volutpat. Nunc tincidunt tellus vel turpis imperdiet, sit amet dapibus lacus pretium. Ut porttitor risus mattis molestie vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sapien est, iaculis sed sodales at, tempus quis dui. Vivamus sem lacus, blandit et facilisis quis, interdum sed risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam erat turpis, tristique id velit non, lacinia gravida dui. Vestibulum at sodales odio, vitae cursus nulla. Aliquam erat volutpat. Ut placerat orci et urna fermentum consectetur. Cras ut feugiat sem. Ut vitae quam diam. Suspendisse eget ante quis sem pretium commodo. Sed blandit sollicitudin imperdiet. Suspendisse eget purus auctor, accumsan magna vitae, elementum metus. Maecenas iaculis eget odio eu volutpat. Nunc tincidunt tellus vel turpis imperdiet, sit amet dapibus lacus pretium. Ut porttitor risus mattis molestie vestibulum."/> 
      </ScrollView> 
     </LinearLayout> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="0dp" 
      android:layout_weight="0.50" 
      android:background="@android:color/holo_green_light" 
      android:orientation="vertical"> 
      <TextView 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:text="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sapien est, iaculis sed sodales at, tempus quis dui. Vivamus sem lacus, blandit et facilisis quis, interdum sed risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam erat turpis, tristique id velit non, lacinia gravida dui. Vestibulum at sodales odio, vitae cursus nulla. Aliquam erat volutpat. Ut placerat orci et urna fermentum consectetur. Cras ut feugiat sem. Ut vitae quam diam. Suspendisse eget ante quis sem pretium commodo. Sed blandit sollicitudin imperdiet. Suspendisse eget purus auctor, accumsan magna vitae, elementum metus. Maecenas iaculis eget odio eu volutpat. Nunc tincidunt tellus vel turpis imperdiet, sit amet dapibus lacus pretium. Ut porttitor risus mattis molestie vestibulum. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed sapien est, iaculis sed sodales at, tempus quis dui. Vivamus sem lacus, blandit et facilisis quis, interdum sed risus. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Nullam erat turpis, tristique id velit non, lacinia gravida dui. Vestibulum at sodales odio, vitae cursus nulla. Aliquam erat volutpat. Ut placerat orci et urna fermentum consectetur. Cras ut feugiat sem. Ut vitae quam diam. Suspendisse eget ante quis sem pretium commodo. Sed blandit sollicitudin imperdiet. Suspendisse eget purus auctor, accumsan magna vitae, elementum metus. Maecenas iaculis eget odio eu volutpat. Nunc tincidunt tellus vel turpis imperdiet, sit amet dapibus lacus pretium. Ut porttitor risus mattis molestie vestibulum."/> 
     </LinearLayout> 
    </LinearLayout> 
</ScrollView> 
</LinearLayout> 

Полученный макет выглядит следующим образом layout

Это не суммируется и не совсем работа, как я хотел бы, чтобы это. Что мне не хватает?

+4

** 1 ** Прокручиваемый вид внутри другого - худшая практика. ** 2 ** Распределение макетов плохо для выступлений. –

ответ

0

Вы не можете прокручивать изображение в другом, не выполняя некоторую работу с сенсорными слушателями. По умолчанию это не будет работать должным образом. B/c система не знает, какой прокрутка просматривается для передачи событий касания.

Вы можете написать прослушиватель касаний, который заблокирует один из видов прокрутки и передает события касания другому. Это похоже на реализацию pull для обновления в представлении recycler/list. В позиции 0 активируйте pull-to-refresh, и в любой другой позиции заблокируйте pull-to-refresh.

+0

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

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