在相对布局中设置按钮

时间:2011-08-22 10:01:00

标签: android relativelayout

我遇到了以下问题:

我有一个以这种方式在landscape mode中设置的活动:

this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

这是我的xml文件:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal">
    <RelativeLayout android:layout_width="wrap_content"
    android:layout_height="fill_parent" 
    android:id="@+id/first"
    android:orientation="vertical"
    android:layout_weight="1.0">

    <SurfaceView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/surface_camera" />
    </RelativeLayout>

 <RelativeLayout android:layout_width="180dp"
    android:layout_height="fill_parent"
     >
    <Button android:layout_width="fill_parent"
android:layout_height="320dip" 
android:id="@+id/btnPhoto"
android:text="Take Photo" 
android:layout_gravity="bottom|left" />

    </RelativeLayout>

</RelativeLayout>

结果如下:

http://i56.tinypic.com/21103ld.png

我想要的是在屏幕底部设置按钮(!from my point of view)。

但我不知道如何实现这一点。谢谢

EDIT1:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
>

<SurfaceView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/surface_camera" />

<RelativeLayout android:layout_width="180dp"
android:layout_height="fill_parent"
 >

<Button android:layout_width="fill_parent"
android:layout_height="320dip" 
android:id="@+id/btnPhoto"
android:layout_alignParentBottom="true"
android:text="Take Photo" 
android:layout_gravity="bottom|left" />

</RelativeLayout>

</RelativeLayout>

解决方案:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
>

<SurfaceView android:layout_width="450dip"
android:layout_height="fill_parent" android:id="@+id/surface_camera" />

<RelativeLayout android:layout_width="180dp"
android:layout_toRightOf="@id/surface_camera"
android:layout_height="fill_parent"
 >

<Button android:layout_width="fill_parent"
android:layout_height="320dip" 
android:id="@+id/btnPhoto"
android:layout_alignParentBottom="true"
android:text="Take Photo" 
android:layout_gravity="bottom|right" />

</RelativeLayout>

</RelativeLayout>

2 个答案:

答案 0 :(得分:1)

尝试使用:         的机器人:layout_alignParentButtom = “真”

答案 1 :(得分:1)

修改 试试这个

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res    /android">
<RelativeLayout android:layout_width="fill_parent"
    android:layout_height="200dip" android:id="@+id/first"
    android:orientation="vertical" android:layout_weight="1.0">

    <SurfaceView android:layout_width="wrap_content"
        android:layout_height="wrap_content" android:id="@+id/surface_camera" />
</RelativeLayout>

<RelativeLayout android:layout_width="wrap_content"
    android:layout_height="wrap_content" android:layout_below="@+id/first">
    <Button android:layout_width="fill_parent"
        android:layout_height="wrap_content" android:id="@+id/btnPhoto"
        android:text="Take Photo" android:layout_alignParentBottom="true" />

</RelativeLayout>

尝试更改您的布局,

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:layout_width="fill_parent"
android:layout_height="fill_parent" xmlns:android="http://schemas.android.com/apk/res/android"
>
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="fill_parent" 
android:id="@+id/first"
android:orientation="vertical"
android:layout_weight="1.0">

<SurfaceView android:layout_width="fill_parent"
android:layout_height="fill_parent" android:id="@+id/surface_camera" />
</RelativeLayout>
 <RelativeLayout android:layout_width="180dp"
android:layout_height="fill_parent"
android:layout_below="@+id/first"
 >
<Button android:layout_width="fill_parent"
android:layout_height="320dip" 
android:id="@+id/btnPhoto"

android:text="Take Photo" 
android:layout_gravity="bottom|left" />

</RelativeLayout>