1

在垂直线性布局中,我有 2 个文本视图,然后是一个按钮,然后是一个框架布局。

我希望按钮位于框架布局的左侧。我尝试将按钮放在相对布局中,但是如何告诉框架布局在右侧?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/content_container_white"
    android:orientation="vertical" >
    <TextView
        android:id="@+id/editText1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:paddingLeft="30dp"
        android:text="@string/t0"
        android:textColor="@color/black"
        android:textSize="30dp" />
    <TextView
        android:id="@+id/editText2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/t1"
        android:textColor="@color/black" />
    <RelativeLayout
        android:id="@+id/RelativeLayout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >
        <Button
            android:id="@+id/buybtn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="left"
            android:layout_marginLeft="30dp"
            android:text="@string/buy_button" />
    </RelativeLayout>
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|right"
        android:layout_marginTop="10dp" >
        <ImageButton
            android:id="@+id/videothumb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|center_vertical"
            android:src="@drawable/button_play_on" />
        <ImageView
            android:id="@+id/videothumbimage"
            android:layout_width="380dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:src="@drawable/demo_thumb_home" />
    </FrameLayout>
</LinearLayout>
4

4 回答 4

2

您可以通过简单地告诉您的 FrameLayout 来做到这一点android:layout_toRightOf="@+id/@+id/buybtn",但您的 FrameLayout 也必须在 RelativeLayout 内。

<RelativeLayout
    android:id="@+id/RelativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal" >
    <Button
        android:id="@+id/buybtn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="left"
        android:layout_marginLeft="30dp"
        android:text="@string/buy_button" />
    <FrameLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal|right"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/@+id/buybtn" >
        <ImageButton
            android:id="@+id/videothumb"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_horizontal|center_vertical"
            android:src="@drawable/button_play_on" />
        <ImageView
            android:id="@+id/videothumbimage"
            android:layout_width="380dp"
            android:layout_height="170dp"
            android:scaleType="centerCrop"
            android:src="@drawable/demo_thumb_home" />
    </FrameLayout>
</RelativeLayout>
于 2012-07-08T19:38:16.007 回答
0

这个问题没有意义。从文档中:

FrameLayout 的设计目的是在屏幕上屏蔽一个区域以显示单个项目

强调我的。

如果您希望布局包含多个项目,请不要使用框架布局。用别的东西。

沙查尔

于 2012-07-08T20:09:56.923 回答
0

水平推FrameLayoutRelativeLayout或只是将按钮和框架放在一起LinearLayout-更简单的是


ps - 保持代码干净,使用ctrl+shift+F(如果使用 Eclipse)自动排列它

于 2012-07-08T19:34:12.903 回答
0

将您的框架布局放在Relativelayout 中,然后设置属性对齐父级。

于 2012-07-08T19:34:19.957 回答