框架布局左侧的按钮?

时间:2012-07-08 19:23:52

标签: android android-layout

在垂直线性布局中,我有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 个答案:

答案 0 :(得分:1)

您只需告诉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>

答案 1 :(得分:0)

FrameLayout推入RelativeLayout或只是将按钮和框架放在水平LinearLayout中 - 更简单的是什么


ps - kepp你的代码干净,使用ctrl+shift+F(如果使用Eclipse)自动安排它

答案 2 :(得分:0)

将framelayout放在Relativelayout中,然后将property align parent设置为right。

答案 3 :(得分:0)

这个问题毫无意义。来自documentation

  

FrameLayout旨在屏蔽屏幕上的某个区域以显示单个项目

Emphesis mine。

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

Shachar