1

我需要在我的自定义窗口标题栏中添加 3 张图像。gravity第一张图片是left. gravity第二张图片是centergravity第三张图片是right。我使用了下面的代码。但第三张图片没有显示。我认为它被第二张图片覆盖。

如何在上述位置显示 3 张图像?

<?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="35dip"
    android:background="#323331"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingLeft="5dip" >

    <ImageView
        android:id="@+id/header_left"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:contentDescription="@string/header_img_dec"
        android:src="@drawable/left_logo" />

    <ImageView
        android:id="@+id/header_middle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:contentDescription="@string/header_img_dec"
        android:gravity="center" />

    <ImageView
        android:id="@+id/header_right"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right"
        android:contentDescription="@string/header_img_dec"
        android:src="@drawable/right_img" />

</LinearLayout>
4

4 回答 4

5

更改android:layout_width="fill_parent"android:layout_width="wrap_content"

于 2013-05-30T10:21:25.440 回答
2

为此使用布局权重,也android:layout_gravity="center_horizontal"为父级设置LinearLayout

   <?xml version="1.0" encoding="utf-8"?>
   <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="wrap_content"
    android:layout_height="35dip"
    android:background="#323331"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:layout_gravity="center_horizontal"
    android:paddingLeft="5dip" >

        <ImageView
            android:id="@+id/header_left"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/header_img_dec"
            android:src="@drawable/left_logo"
           android:layout_weight="1"
              />

        <ImageView
            android:id="@+id/header_middle"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:contentDescription="@string/header_img_dec"
            android:layout_weight="1" />

        <ImageView
            android:id="@+id/header_right"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
             android:layout_weight="1"
            android:contentDescription="@string/header_img_dec"
            android:src="@drawable/right_img" />

    </LinearLayout>
于 2013-05-30T10:12:01.360 回答
0

试试这个方法

<code>在此输入图片说明</code>

 <?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="35dip"
    android:background="#323331"
    android:gravity="center_vertical"
    android:orientation="horizontal"
    android:paddingLeft="5dip" >

<ImageView
    android:id="@+id/header_left"
    android:layout_alignParentLeft="true"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:contentDescription="@string/header_img_dec"
    android:src="@drawable/left_logo" />

<ImageView
    android:id="@+id/header_right"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    android:layout_height="wrap_content"
    android:contentDescription="@string/header_img_dec" />

<ImageView
    android:id="@+id/header_middle"
    android:layout_width="wrap_content"
    android:layout_alignParentRight="true"
    android:layout_height="wrap_content"
    android:contentDescription="@string/header_img_dec"
    android:src="@drawable/right_img" />
</RelativeLayout>
于 2013-05-30T10:11:43.300 回答
0

在第二个 imageView 中它错过了 android:src= 并且您使用了 android:layout_width="fill_parent"。所以改用 android:layout_width="wrap_content" 否则图像将填满容器的整个空间。要将图像相互排列,我建议您使用RelativeLayout

尝试这个 :

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/RelativeLayout1"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="#323331"
    >

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:src="@drawable/ic_launcher" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_centerVertical="true"
        android:layout_marginLeft="82dp"
        android:layout_toRightOf="@+id/imageView1"
        android:src="@drawable/ic_launcher" />

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

</RelativeLayout>
于 2013-05-30T10:16:12.063 回答