如何将一组视图(按钮,图像)水平对齐

时间:2013-11-09 05:52:35

标签: android android-ui

这里我尝试了xml代码

<?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:orientation="horizontal" >

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:orientation="horizontal"
    android:gravity="center"
    >

    <ImageView
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:src="@drawable/home_icon"
        />

    <Button 
        android:id="@+id/btnHome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:onClick="OnHomeSelected"
        />
</LinearLayout>

<ImageView
    android:id="@+id/ivnetconstatus"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/ledred"
    android:layout_gravity="right"
    />

</LinearLayout>

使用上面的xml文件生成的输出

enter image description here

我想对齐家庭影像&amp;主页按钮中心和红色圆圈图像到布局的右侧。

enter image description here

提前致谢

3 个答案:

答案 0 :(得分:3)

试试这个:

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

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" 
    android:orientation="horizontal"
    android:layout_centerHorizontal="true"
    android:gravity="center"
    >

    <ImageView
        android:id="@+id/image1"
        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:src="@drawable/home_icon"
        />

    <Button 
        android:id="@+id/btnHome"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toRightOf="@+id/image1"
        android:onClick="OnHomeSelected"
        />
</RelativeLayout>

<ImageView
    android:id="@+id/ivnetconstatus"
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content"
    android:src="@drawable/ledred"
    android:layout_alignParentRight="true"
    />

</RelativeLayout>

答案 1 :(得分:1)

像这样改变你的布局..

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">

<ImageView
    android:id="@+id/ivnetconstatus"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_alignParentTop="true"
    android:src="@drawable/home_icon" />

<Button
    android:id="@+id/btnHome"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:onClick="OnHomeSelected" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:layout_toRightOf="@+id/btnHome"
    android:gravity="center"
    android:src="@drawable/ledred" />
</RelativeLayout>

答案 2 :(得分:1)

使用Relative Layout为您提供多个属性来对齐视图。

尝试下面的代码。

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

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:gravity="center" >

        <ImageView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/icon" />

        <Button
            android:id="@+id/btnHome"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:onClick="OnHomeSelected" />
    </LinearLayout>

    <ImageView
        android:id="@+id/ivnetconstatus"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="10dp"
        android:src="@drawable/ic_launcher" />

</RelativeLayout>