Мое решение с использованием пользовательской ViewGroup (из RelativeLayout), поэтому я могу использовать его в разных действиях без копирования xml. Это простой пример, который обновляет текстовое представление с заголовком. Вы можете добавить кнопки к относительной компоновке, чтобы они работали так, как вам нужно.
Но если у Вас есть лишь активность, лучше, если вы включите его в качестве суб расположения основного макета вашей деятельности
public class StatusBar extends RelativeLayout {
private TextView textViewTitle;
public StatusBar(Context context, AttributeSet attrs) {
LayoutInflater layoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
layoutInflater.inflate(R.layout.ui_status_bar, this, true);
super(context, attrs);
}
@Override
public void onFinishInflate() {
super.onFinishInflate();
textViewTitle = (TextView) findViewById(R.id.textViewTitle);
}
private void updateStatusBar(String title) {
this.textViewTitle.setText(title)
}
}
И в ui_status_bar.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/theme_color_darker"
android:gravity="center_vertical" >
<TextView
android:id="@+id/textViewTitle"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="5dp"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textStyle="bold" />
</RelativeLayout>
в вашей деятельности вы можете использовать его следующим образом:
<com.uicomponents.statusbar.StatusBar
android:id="@+id/statusBar"
style="@style/status_bar" />
Обычно я делаю свою собственную строку заголовка, поэтому я могу добавить кнопки, значок состояния ... Нужно закодировать свою собственную ViewGroup. –
Спасибо за ответ ... Мне было интересно, если это лучший подход? –
Эта ссылка может вам помочь: http://stackoverflow.com/questions/5663068/custom-viewgroup-example-please –