Android:标题未在自定义标题栏中显示,并带有自定义列表适配器视图

时间:2014-04-19 06:08:12

标签: android titlebar custom-adapter

我创建了一个自定义标题栏,其中包含以下内容。

myapptitle.xml

<?xml version="1.0" encoding="utf-8"?>
<TextView
  xmlns:android="http://schemas.android.com/apk/res/android"
  android:id="@+id/myTitle"
  android:text="@string/app_name"
  android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textColor="@color/titletextcolor"
  android:textSize="14sp"
  android:layout_gravity="top"
   />

的themes.xml

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

manifext.xml

    <application
        android:label="@string/app_name"
        android:theme="@style/customTheme" >
.....

我已经创建了一个customList适配器和一个布局,如下所示。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
     android:orientation="vertical" >

    <ImageView
        android:id="@+id/icon"
        android:layout_width="22dip"
        android:layout_height="22dip"
        android:layout_marginLeft="4dip"
        android:layout_marginRight="10dip"
        android:layout_marginTop="4dip"
        android:contentDescription="@string/app_msg_title"
        android:src="@drawable/logo_small" >
    </ImageView>

    <TextView
        android:id="@+id/msgDate"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:textSize="14sp" 
        />

    <TextView
        android:id="@+id/msgTitle"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" 
        android:textSize="14sp" />

    <TextView
        android:id="@+id/label"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@+id/label"
        android:textSize="12sp" >
    </TextView>

</LinearLayout>

在我的列表活动中,我在onCreate方法上给出了以下代码。

  requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
   getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.myapptitle);

但不知怎的,在运行应用程序时,我得到的标题栏根本没有任何文字。在app_name的strings.xml中,我有我的通知作为文本。

感谢您的所有时间和帮助。

被修改 Styles.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <style name="WindowTitleBackground"> 
        <item name="android:background">@color/titlebackgroundcolor</item> 
    </style> 
</resources>

1 个答案:

答案 0 :(得分:0)

更改style.xml,如下所示:

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

      <style name="TitleBarTheme" parent="android:Theme">
             <item name="android:windowTitleSize">35dip</item>
<item name="android:windowTitleBackgroundStyle">           @style/CustomWindowTitleBarBG</item>
      </style>
</resources>

然后

在清单文件中,在应用程序标记中使用TitleBarTheme并使用如下所示的活动:

android:theme="@android:style/Theme.NoTitleBar"

并在活动类中使用您的代码:

requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
   getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE,
                R.layout.myapptitle);