-1

次のようなレイアウトを定義したいと思います。

ここに画像の説明を入力

私が言いたいのは、黄色の領域を画面の上に置き、常に画面に表示されたままにし、緑色の領域は<ScrollView>.

yellow_area.xmlgreen_area.xmlなど、2 つの別々のレイアウト ファイルを定義し、それらを 1 つのmain.xmlに含めることを考えています。

しかし、黄色の領域を常に表示し、緑色の領域をスクロール可能にする方法は? (これは、黄色の領域が緑色の領域の上にあるように見せるためです)

4

3 に答える 3

3

yellow_area.xml と green_area.xml などの 2 つの別々のレイアウト ファイルを定義し、それらを 1 つの main.xml に含めることを考えています。

それらの一方または両方を再利用したい場合は、これを行うか使用することをfragmentsお勧めします...あなたの場合に最適な方です。

しかし、黄色の領域を常に表示し、緑色の領域をスクロール可能にする方法は? (これは、黄色の領域が緑色の領域の上にあるように見せるためです)

RelativeLayoutを使用し、プロパティを使用してこれを達成できるはずです

android:layout_below="@id/topLayout"

あなたの "green"の<include>タグで、それがあなたの "yellow" であるとlayout仮定します。topLayoutidlayout

編集

View含まれている 内の sの数が原因で、上記の回答が機能しなかったと思いますlayout。aLinearLayoutを として使用し、各子( の内部で使用して、問題をparent layout修正します。次のようなものlayout_weightlayoutListView

    ?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" 
    android:orientation="vertical"
    android:layout_gravity="center_horizontal"
    android:gravity="center_horizontal"
    >
    <!--included a title_layout-->
   <include
        android:id="@+id/upper_area"  
        android:layout_width="fill_parent"
        android:layout_height="0dp"   
        layout="@layout/title_layout"
        android:layout_weight=".25"/>    // add weight here 

    <!--Listview below title_layout-->
    <ListView
        android:id="@+id/data_list"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight=".75"  />      // and here


</LinearLayout> 

に設定する必要がlayout_weightあるvertical方向で使用する(水平方向の場合)height0dplayout_width="0dp"

于 2013-07-09T19:35:46.960 に答える