如何在android中的活动标题栏中添加关闭按钮?

时间:2011-10-05 06:43:57

标签: android android-layout

我已根据以下链接建议自定义标题栏: - = http://www.londatiga.net/it/how-to-create-custom-window-title-in-android/

这是我的window_title.xml: -

<?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="50dip"

        android:paddingLeft="5dip"
        android:paddingBottom="10dip"

        android:background="#323331">

    <TextView android:id="@+id/header_label" 

        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"

        android:text="Preview Song"
        android:textSize="10dip"

        android:gravity="center_vertical"

        android:layout_alignParentLeft="true" 
        android:layout_marginRight="5dip"
        android:layout_marginTop="5dip">

     </TextView>  

    <ImageButton
        android:id="@+id/header" 
        android:src="@drawable/button_close"

        android:layout_width="wrap_content" 
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true" 
        android:layout_marginRight="10dip"
        android:layout_marginTop="6dip"

        android:background="@null" />

</RelativeLayout>

这是我的custom_title.xml: -

<resources>

    <style name="CustomWindowTitleBackground">
        <item name="android:background">#323331</item>
    </style>

    <style name="CustomTheme" parent="@android:style/Theme.Dialog">
        <item name="android:windowTitleSize">50dip</item>
        <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item>
    </style>

</resources>

但这是我现在的结果 - ![在此输入图像说明] [1]

这意味着标题内容(预览歌曲和关闭图像)太小,我想增加这个标题栏的高度。我增加了标题栏的高度,但这并没有增加标题栏的大小,但内容与标题栏重叠,并且这些按钮和预览歌曲不会显示。

请告诉我我在做什么错误?

4 个答案:

答案 0 :(得分:2)

你必须在你刚添加的活动中创建自定义标题栏并隐藏android标题栏...

机器人:主题= “@机器人:风格/ Theme.Black.NoTitleBar”

并看到此链接::

http://www.londatiga.net/it/how-to-create-custom-window-title-in-android/ http://www.helloandroid.com/tutorials/how-create-custom-titlebar

答案 1 :(得分:1)

好的samir第二个链接对我来说很好。看看下面的windows_title.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="35dip"
    android:gravity="center_vertical"
    android:paddingLeft="5dip"
    android:background="#323331">

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

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:gravity="right|center_vertical"
        android:paddingRight="5dip">

        <TextView
            android:id="@+id/title"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:paddingRight="5dip"
            android:textSize="11dip" />

        <Button
            android:id="@+id/icon"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:background="@drawable/close"
            android:layout_marginRight="10dp" />

        <ProgressBar
            android:id="@+id/leadProgressBar1"
            android:layout_width="20dp"
            android:layout_height="20dp"
            android:layout_below="@+id/titleTvLeft"
            android:layout_marginBottom="3dp" />

    </LinearLayout>

</LinearLayout>

答案 2 :(得分:0)

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    ActionBar actionBar = getSupportActionBar();
    actionBar.setDisplayHomeAsUpEnabled(true);
    actionBar.setHomeAsUpIndicator(R.drawable.ic_close_white_24dp);
}

@Override
public boolean onSupportNavigateUp() {
    finish();
    return true;
}

答案 3 :(得分:-3)

您可以为您的新自定义布局充气。