Android の ActionBar でいくつかのことをしようとしています。
アクションバーの右側に新しい項目を追加しました。
アクションバーの左側を変更するにはどうすればよいですか? アイコンとテキストを変更したい、他の画面のアクションバーに「戻るボタン」を追加したい
Android の ActionBar でいくつかのことをしようとしています。
アクションバーの右側に新しい項目を追加しました。
アクションバーの左側を変更するにはどうすればよいですか? アイコンとテキストを変更したい、他の画面のアクションバーに「戻るボタン」を追加したい
これを実現するのは非常に簡単です
コードで変更する場合は、次を呼び出します。
setTitle("My new title");
getActionBar().setIcon(R.drawable.my_icon);
そして、値を好きなように設定してください。
または、Android マニフェスト XML ファイルで:
<activity android:name=".MyActivity"
android:icon="@drawable/my_icon"
android:label="My new title" />
アプリで戻るボタンを有効にするには:
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
ラベル/アイコンの変更がユーザーに透過的になるように、コードはすべて に配置する必要がありますonCreate
が、実際には、アクティビティのライフサイクル中にどこでも呼び出すことができます。
この 3 行のコードを追加するだけです。アイコンを独自のアイコンに置き換えます。アイコンを生成したい場合はこれを使用してください
getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
アクションバーのタイトルを変更したい場合は、Activity の onCreate() で次の 1 行のコードを指定するだけです
getActionBar().setTitle("Test");
必要なアイコンをそれぞれのドローアブル フォルダーに追加し、AndroidManifest.xml ファイルの次の行を変更することで、アイコンを変更できます。
android:icon="@drawable/ic_launcher"
アイコンの名前がそこにあるものと一致するようにします。または、同じアイコンの場合は、アイコンを ic_launcher として配置します。その内容については、 res/values/strings.xml ファイルに一致する文字列を追加または変更してください。次に、もう一度 AndroidManifest.xml ファイルで、次の行を変更します。
android:label="@string/app_name"
あなたが持っている文字列に。アプリケーション全体、および必要なアクティビティに対してこれを行う必要がありますが、行は同じです。
お役に立てれば。
そのためには、XML または Java の 2 つの方法でそれを行うことができます。こちらをご覧ください:アクションバーのテキストを変更する方法
そう:
XML:
<activity android:name=".Hello_World"
android:label="This is the Hello World Application">
</activity>
ジャワ:
public class TitleBar extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
final boolean customTitleSupported = requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);
setContentView(R.layout.main);
if ( customTitleSupported ) {
getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.titlebar);
}
final TextView myTitleText = (TextView) findViewById(R.id.myTitle);
if ( myTitleText != null ) {
myTitleText.setText("NEW TITLE");
// user can also set color using "Color" and then "Color value constant"
// myTitleText.setBackgroundColor(Color.GREEN);
}
}
}
セットのタイトルの場合:
getActionBar().setTitle("Title");
セット アイコンの場合:
getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
内部で次の呼び出しを使用しましたonNavigationItemSelected
:
HomeActivity.this.setTitle(item.getTitle());
アクティビティの onCreate 関数内に以下のコードを追加します。
setTitle("NewName");
デフォルトでは、アクション バーのタイトルは現在のアクティビティのラベルを使用しますが、 を介してプログラムで設定することもできますActionBar.setTitle()
。
あなたが話している「戻る」(より正確には「上へ」)ボタン機能を実装するには、アクションバー開発者ガイドの「ナビゲーションにアプリアイコンを使用する」セクションを読んでください。
最後に、アイコンを変更するために、ガイドはそれもカバーしています。つまり、アクション バーにはandroid:icon
、マニフェストapplication
またはactivity
要素があれば、その画像が表示されます。典型的な方法は、 という名前のアプリケーション アイコンを (必要なさまざまな密度のすべてで) 作成し、ic_launcher.png
それをdrawable-*
ディレクトリに配置することです。
静的な PlaceholderFragment クラスでnon-static method setTitle(CharSequence) cannot be referenced from a static context
使用したため、エラーが発生しました。setTitle()
を使って解決しましたgetActivity().getActionBar().setTitle("new title");