0
  1. 嗨,我是android编程的新手.....

    对于我的应用程序,我正在使用图像按钮,它已成功安装在设备上。但是当我旋转屏幕时,所有按钮的位置都会改变......我需要将所有按钮放在屏幕中心......这是我的代码......

    <TextView
        android:id="@+id/testText"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textColor="#FFCC99"
        android:textSize="24dp" />
    
    <ImageButton
        android:id="@+id/up"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/up" />
    
    <ImageButton
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="200dp"
        android:layout_marginTop="150dp"
    
        android:src="@drawable/left" />
    
    <ImageButton
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:layout_below="@+id/up"
        android:layout_marginRight="50dp"
        android:layout_marginTop="150dp"
        android:src="@drawable/right" />
    
    <ImageButton
        android:id="@+id/down"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/up"
        android:layout_alignParentRight="true"
        android:layout_marginRight="124dp"
        android:layout_marginTop="80dp"
        android:src="@drawable/down" />
    

    请帮忙............

4

3 回答 3

1

设置android:gravitycenter。以下布局将为您做:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:layout_width="match_parent"
              android:layout_height="match_parent"
              android:gravity="center"
              android:orientation="horizontal" >

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Cool Button" />

</LinearLayout>

还有其他方法可以做到这一点。
1. 使用相对布局
2. 使用 2 种布局:一种用于纵向,另一种用于横向。

于 2012-08-23T11:51:12.043 回答
0

您必须将所有小部件放在一个容器(LinearLayout)中并将其居中。为此,您可以使用重力属性。

您可以查看此页面:http: //developer.android.com/guide/topics/ui/layout/linear.html

于 2012-08-23T11:47:55.830 回答
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:gravity="center_horizontal"
android:orientation="vertical" >

<TextView
    android:id="@+id/testText"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_margin="10dp"
    android:gravity="center_horizontal"
    android:text="Sample text"
    android:textColor="#FFCC99"
    android:textSize="24dp" />

<ImageButton
    android:id="@+id/up"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/up" />

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="wrap_content" >

    <ImageButton
        android:id="@+id/left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_gravity="left"
        android:src="@drawable/left" />

    <ImageButton
        android:id="@+id/right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_gravity="right"
        android:src="@drawable/right" />
</RelativeLayout>

<ImageButton
    android:id="@+id/down"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:src="@drawable/down" />

</LinearLayout>
于 2012-08-23T12:08:07.647 回答