0

嘿,我正在尝试创建一个标题,中间有一个图像,右上角有一个按钮。

我发现这篇文章如何在 android 中使用 iOS 中的文本和按钮制作标题,以及以下教程http://www.londatiga.net/it/how-to-create-custom-window-title-in-android/,我能够将图像放在中心并设置背景。但是,无论我做什么,我的按钮都不会出现在右上角。

我试图查看它是否被背景掩盖或者可能超出屏幕,但我找不到问题的原因。

我的 XML

<?xml version="1.0" encoding="utf-8"?>
    <LinearLayout 
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="horizontal" 
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"> 
        <ImageView
            android:id="@+id/Header"
            android:src="@drawable/header"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="#ff000000"
            android:layout_marginTop="5dp"
            android:gravity="center_horizontal"/>

                <Button
            android:id="@+id/lockButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginRight="5.0dip"        
            android:text="TEST"
            />


    </LinearLayout>
4

3 回答 3

1

为什么不relative

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/img_vs_navbar" >

<ImageView
    android:id="@+id/img_back"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentLeft="true"
    android:layout_centerVertical="true"
    android:src="@drawable/btn_setting_back" />

</RelativeLayout>

android:layout_centerInParent你可以像这样使用它来把它放在中心。

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/img_vs_navbar" >

    <ImageView
        android:id="@+id/img_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/btn_setting_back" />

</RelativeLayout>

或者用alignParentRight把它放在右边

编辑:

这个是在一个xml中使用两个imageview

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:background="@drawable/img_vs_navbar" >

    <ImageView
        android:id="@+id/img_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_centerVertical="true"
        android:src="@drawable/btn_setting_back" />

    <ImageView
        android:id="@+id/img_back"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:src="@drawable/btn_setting_back" />

</RelativeLayout>
于 2013-01-29T17:27:45.793 回答
1

试试这个 :

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

    <ImageView
        android:id="@+id/Header"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="5dp"
        android:background="#ff000000"
        android:gravity="center_horizontal"
        android:src="@drawable/header" />

    <Button
        android:id="@+id/lockButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:layout_marginRight="5.0dip"
        android:text="TEST" />

</RelativeLayout>
于 2013-01-29T17:38:30.043 回答
0

因为您的 ImageView 有一个 fill_parent 宽度,所以您需要为其添加一个权重属性。

android:layout_weight="1"

如果您希望它跨越整行,您可以使用将 LinearLayout 更改为 RelativeLayout。

于 2013-01-29T17:27:53.853 回答