我正在创建一个应用程序,它在每个活动的顶部都有标题,到目前为止我一直在这样做:
为每个页面创建一个header.xml。但我认为必须有一种更有效的方式 我可以使用常量header.xml,然后更改onCreate方法中文本的值。
这是我到目前为止所做的事情:
chooseActivity,
使用布局chooseact.xml
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@color/white">
<include layout="@layout/selectheader" />
<include layout="@layout/redcell" />
<ListView
android:id="@android:id/list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
/>
</TableLayout>
里面有一个header.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="60dp"
android:src="@drawable/headerrect" />
<TextView
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="@string/leagues"
android:textColor="@color/white"
android:textSize="25dp"
android:textStyle="bold"/>
</RelativeLayout>
答案 0 :(得分:1)
为header.xml中的TextView提供一个id,就像对ImageView一样。然后在每个Activity的onCreate()方法中,您可以设置文本。
TextView headerText = (TextView) findById(R.id.header_text);
headerText.setText("The text that should show up");
带有TextView的header.xml使用id属性:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="match_parent"
android:layout_height="60dp"
android:src="@drawable/headerrect" />
<TextView
android:id="@+id/header_text"
android:layout_width="match_parent"
android:layout_height="60dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:gravity="center"
android:text="@string/leagues"
android:textColor="@color/white"
android:textSize="25dp"
android:textStyle="bold"/>
</RelativeLayout>
答案 1 :(得分:0)
This answer可以是另一种使用方法。你不需要在所有xml中添加标题。并且不需要在每个活动中制作标题textview。