タイトルバーにボタンを追加する方法を教えてください。
- タイトルを完全に削除し、たとえば ImageView を使用してカスタム タイトルを作成します。
また
- 別のアプローチを使用する
私の目標はFacebookアプリに似たものです
更新: API レベル >= 10
タイトルバーにボタンを追加する方法を教えてください。
また
私の目標はFacebookアプリに似たものです
更新: API レベル >= 10
Android の Actionbar を使用するのがベスト プラクティスだと思います。カスタム タイトル バーのボタンではなく、アクション メニューを優先します。
参照してください :
アクションバーのさらなる実装については、以下を参照してください。
カスタムViewGroup(RelativeLayoutから)を使用する私のソリューションなので、xmlをコピーして貼り付けずにさまざまなアクティビティで使用できます。これは、テキスト ビューをタイトルで更新する簡単な例です。ボタンを相対的なレイアウトに追加して、必要な方法で機能させることができます。
ただし、Activity しかない場合は、Activity のメイン レイアウトのサブ レイアウトとして含める方がよいでしょう。
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" />