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