我必須創建自定義標題欄來設置動態文本。這將會像設置標題一樣,並在下面,在操作欄上的動態字幕。在自定義標題欄上設置標題文本
在這種情況下,應用程序標題在左側,與默認值一樣。動態文本在右側,並且必須動態改變。
這是佈局custom_titlebar.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:orientation="vertical" >
<TextView
android:id="@+id/title_left_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="left" />
<TextView
android:id="@+id/title_right_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="right"
android:layout_alignParentRight="true" />
</RelativeLayout>
在清單我定義:
<application
android:theme="@style/Theme.NoTitle" >
而且在活動:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
//HAVE COMENTED THIS, BECAUSE IT THROWS: You cannot combine custom titles with other title feature..
setContentView(R.layout.main);
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_titlebar);
TextView title = (TextView) findViewById(R.id.title_left_text);
title.setText(getTitle());
動態更改文本,我也對活動:
public void setTitleStatus(String right) {
if (right.length() > 20) {
right = right.substring(0, 20);
}
TextView status = (TextView) findViewById(R.id.title_right_text);
status.setText(right);
}
的問題是,拋出一個NPE上的onCreate的線,我設置標題(title.setText(getTitle());
)
繼續顯示相同的錯誤 – masmic
如果這是您自己的getTitle()方法? – Piyush
我沒有getTitle()方法。我認爲這是一種預定義的方法。在那裏設置應用標題的方式是什麼? – masmic