#android #android-layout
#Android #android-макет
Вопрос:
Я пробовал это-
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fillViewport="true"
android:isScrollContainer="true"
android:layout_below="@ id/rootLayout"
android:layout_centerHorizontal="true">
<RelativeLayout
android:id="@ id/rootLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@ id/shop_detail_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<FrameLayout
android:id="@ id/item_detail_container"
android:layout_width="match_parent"
android:layout_alignParentBottom="true"
android:layout_height="wrap_content" />
</RelativeLayout>
</ScrollView>
Я пытаюсь получить два фрагмента с возможностью вертикальной прокрутки на одном экране. Приведенный выше код показывает только первый фрагмент, и он также не прокручивается. Любая помощь будет оценена.
Заранее благодарю вас.
Комментарии:
1. попробуйте изменить RelativeLayout на LinearLayout
Ответ №1:
В вашем случае фрагменты перекрываются. если вы хотите использовать относительный макет, используйте его, как показано ниже,
<RelativeLayout
android:id="@ id/rootLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@ id/shop_detail_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<FrameLayout
android:layout_below="@id/shop_detail_container"
android:id="@ id/item_detail_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</RelativeLayout>
или используйте линейную компоновку, как показано ниже,
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:orientation="vertical"
android:id="@ id/rootLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<FrameLayout
android:id="@ id/shop_detail_container"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
<FrameLayout
android:id="@ id/item_detail_container"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
Комментарии:
1.Эй, @Akash, спасибо тебе, чувак! Это действительно помогло мне выполнить то, что я пытался сделать. Высота отображалась неправильно, поэтому я использовал это
itemDetail.getLayoutParams().height = windowHeight;
shopDetail.getLayoutParams().height = windowHeight;
Ответ №2:
Попробуйте вот так, у меня это сработало
<LinearLayout...orientation = "horizontal>
<ScrollView>
<FrameLayout/>
</ScrollView>
<ScrollView>
<FrameLayout/>
</ScrollView>
</LinearLayout>