2

listLayout我有一个包含按钮的 id 框架布局。我希望它位于另一个带有 id 的框架布局之上,news_fragment但除此之外它还会出现。

这是xml:

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

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id="@+id/listLayout"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content">

        <Button
            android:id="@+id/lists"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:background="@drawable/btn_black_xml"           
            android:padding="8dp"
            android:text="List"
            android:textColor="#ffffff"
            android:textSize="20dp" />

        </FrameLayout>


    <FrameLayout
              android:id="@+id/news_fragment"
              android:layout_weight="2"
              android:layout_width="0dp"              
              android:layout_height="match_parent">



        </FrameLayout>

    <FrameLayout
              android:id="@+id/channel_fragment"
              android:layout_weight="3"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

</LinearLayout>
4

3 回答 3

2

LinearLayout是水平的,这就是为什么子视图彼此并排显示。尝试将其垂直放置:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"> 
...

我希望我能很好地理解你的问题。

还请注意,您应该简化布局:在某些布局中拥有一个视图是无用的并且会消耗资源:

换句话说 :

<FrameLayout
   android:id="@+id/listLayout"
   android:layout_weight="1"
   android:layout_width="0dp"
   android:layout_height="wrap_content">

<Button
    android:id="@+id/lists"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_horizontal"
    android:background="@drawable/btn_black_xml"           
    android:padding="8dp"
    android:text="List"
    android:textColor="#ffffff"
    android:textSize="20dp" />

</FrameLayout>

坏的,FrameLayout没用的。

于 2013-06-12T14:48:19.983 回答
0

看看它是否是正在寻找的东西:

<?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" >

    <FrameLayout
        android:id="@+id/listLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/lists"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal"
            android:padding="8dp"
            android:text="List"
            android:textColor="#ffffff"
            android:textSize="20dp" />
    </FrameLayout>


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="fill_parent" >

        <FrameLayout
            android:id="@+id/news_fragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >
        </FrameLayout>

        <FrameLayout
            android:id="@+id/channel_fragment"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_weight="1" >
        </FrameLayout>
    </LinearLayout>

</LinearLayout>
于 2013-06-12T14:58:43.717 回答
0

像这样将它们都放在Linearlayout垂直中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="horizontal"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

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

        <FrameLayout
            android:id="@+id/listLayout"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_weight="1" >

            <Button
                android:id="@+id/lists"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_horizontal"
                android:background="@drawable/btn_black_xml"
                android:padding="8dp"
                android:text="List"
                android:textColor="#ffffff"
                android:textSize="20dp" />
        </FrameLayout>

        <FrameLayout
            android:id="@+id/news_fragment"
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:layout_weight="2" >
        </FrameLayout>

    </LinearLayout>

    <FrameLayout
              android:id="@+id/channel_fragment"
              android:layout_weight="3"
              android:layout_width="0dp"
              android:layout_height="match_parent" />

</LinearLayout>
于 2013-06-12T14:47:31.560 回答