自定义标题栏问题

时间:2012-01-27 15:41:14

标签: android android-layout

我将自定义标题栏设置为示例http://coderzheaven.com/2011/06/custom-title-bar-in-android/,每件事情都运行正常,但仍然会从原始标题中显示蓝框。我添加的唯一内容是将自定义标题的背景颜色设置为(android:background =“#EECBAD”)。如何删除此蓝框?

### custom_title.xml:

    <RelativeLayout 
     android:id="@+id/RelativeLayout01" 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:background="#EECBAD"
     xmlns:android="http://schemas.android.com/apk/res/android">
     <ImageView
     android:layout_width="40dip" 
     android:id="@+id/ImageView01" 
     android:background="@drawable/ic_launcher" 
     android:layout_height="40dip" /> 
    <TextView 
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"  
    android:id="@+id/tv" 
    android:text="ELNABIH"
    android:layout_toRightOf="@+id/ImageView01"
    android:textColor="@drawable/red"
    android:textStyle="bold" 
    android:layout_marginLeft="5dip"
    android:layout_marginRight="5dip" />
    </RelativeLayout>

的java.class

      package com.test.list;
    import android.app.Activity;
     import android.os.Bundle;
     import android.view.Window;
     import android.widget.TextView;
     public class Tttt extends Activity {  
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
           super.onCreate(savedInstanceState); 
           Boolean customTitleSupported = requestWindowFeature
           (Window.FEATURE_CUSTOM_TITLE); 
           setContentView(R.layout.main);  
           if (customTitleSupported) { 
               getWindow().setFeatureInt
           (Window.FEATURE_CUSTOM_TITLE,R.layout.custom_title); 
               TextView tv = (TextView) findViewById(R.id.tv);  
               tv.setText("name");  


             }
           }
         }

5 个答案:

答案 0 :(得分:1)

尝试覆盖“android:windowTitleBackgroundStyle”。

答案 1 :(得分:1)

如果您设置 tv TextView的背景颜色,那是因为除了设置为wrap_content之外,它还有一些左右填充:

android:layout_marginLeft="5dip"
android:layout_marginRight="5dip"

您可以删除这些行,或尝试设置父级的背景颜色, RelativeLayout01

答案 2 :(得分:1)

兄弟,我认为这link会对你有所帮助。我想你也必须在xml中定义样式和主题。

请创建 styles.xml&amp;在 res 下的values文件夹文件夹中的themes.xml 。编写以下代码:

styles.xml的代码

    <?xml version="1.0" encoding="UTF-8"?>
    <resources> <style name="WindowTitleBackground" parent="android:Theme"> 
    <item   name="android:background">@android:color/background_dark</item>
    </style>
    </resources>

themes.xml代码

    <?xml version="1.0" encoding="utf-8"?>
    <resources>
    <style name="MyTheme" parent="android:Theme">
    <item name="android:windowTitleSize">54px</item>
    <item name="android:windowTitleBackgroundStyle">@style/WindowTitleBackground</item>                 
    </style>
    </resources>  

并将其插入您的清单 - android:theme="@style/MyTheme"

答案 3 :(得分:1)

放在style.xml上:

<style name="CustomWindowTitleBackground">
        <item name="android:background">@color/LightFacebook</item>
    </style>
@ color / LightFacebook上的

使用u自定义颜色。

答案 4 :(得分:0)

您应该先隐藏默认标题。您应该在AndroidManifest.xml中声明该活动,或者在java代码中设置窗口参数。

<activity 
    android:name=".MainActivity" 
    android:theme="@android:style/Theme.Black.NoTitleBar" />