Просмотр прокрутки только для части экрана

#android #scrollview #android-relativelayout

#Android #просмотр прокрутки #android-relativelayout

Вопрос:

У меня возникли некоторые проблемы с разделением экрана на две части. Я не знаю, с чего начать на самом деле. Все мои макеты до сих пор использовали RelativeLayout. В принципе, я хочу иметь прокручиваемый вид в верхней части 70% (или около того) экрана и две кнопки в нижней части 30% (или около того) экрана. Scrollview будет заполнен несколькими текстовыми представлениями. Вот мой простой код:

 <?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/stonerepeat"
android:gravity="center_horizontal"
>








<Button
android:id="@ id/back"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Looks good"
android:layout_alignParentBottom="true" 
android:layout_alignParentLeft="true" 
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp" 
android:layout_marginBottom="10dp"
>
</Button>
<Button
android:id="@ id/stats"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Hero Stats"
android:layout_alignLeft="@ id/back"
android:layout_alignRight="@ id/back" 
android:layout_above="@ id/back"
android:layout_marginBottom="3dp"
>
</Button>


</RelativeLayout>
  

Комментарии:

1. Вы можете вкладывать макеты. Итак, что вам нужно сделать, это иметь два макета второго уровня, где один из них будет прокручивать его содержимое, а другой, фиксированный, будет прикреплен к нижней части и будет содержать только кнопки. Затем вам нужно поиграть со свойствами, пока не получите правильный результат.

2. должен ли я вкладывать относительные или линейные макеты? Я не уверен, как бы я не позволил им перекрываться. кнопки поверх опущенного scrollview или scrollview полностью скрывают кнопки

3. существует более одного способа снять кожу с кошки. Я хотел сказать, что вам нужно поэкспериментировать, чтобы понять, как работает этот макет (и он очень мощный). Без понимания вы можете получить решение от кого-то, но вы не сможете изменить или повторно внедрить его в будущем.

Ответ №1:

Если вам нужны проценты, самый простой способ — использовать LinearLayout веса и. Что-то вроде:

 <LinearLayout android:orientation="vertical" ...>
    <ScrollView android:layout_weight="7" ... />
    <RelativeLayout android:layout_weight="3" ...>
        <Button ... />
        <Button ... />
    </RelativeLayout>
</LinearLayout>