241

Android の ActionBar でいくつかのことをしようとしています。

アクションバーの右側に新しい項目を追加しました。

アクションバーの左側を変更するにはどうすればよいですか? アイコンとテキストを変更したい、他の画面のアクションバーに「戻るボタン」を追加したい

Android アクション バー

4

17 に答える 17

540

これを実現するのは非常に簡単です

コードで変更する場合は、次を呼び出します。

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が、実際には、アクティビティのライフサイクル中にどこでも呼び出すことができます。

于 2013-01-23T15:48:17.277 に答える
13

この 3 行のコードを追加するだけです。アイコンを独自のアイコンに置き換えます。アイコンを生成したい場合はこれを使用してください

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
于 2016-03-17T07:40:03.580 に答える
9

アクションバーのタイトルを変更したい場合は、Activity の onCreate() で次の 1 行のコードを指定するだけです

getActionBar().setTitle("Test");
于 2014-04-22T07:46:06.187 に答える
7

必要なアイコンをそれぞれのドローアブル フォルダーに追加し、AndroidManifest.xml ファイルの次の行を変更することで、アイコンを変更できます。

android:icon="@drawable/ic_launcher"

アイコンの名前がそこにあるものと一致するようにします。または、同じアイコンの場合は、アイコンを ic_launcher として配置します。その内容については、 res/values/strings.xml ファイルに一致する文字列を追加または変更してください。次に、もう一度 AndroidManifest.xml ファイルで、次の行を変更します。

android:label="@string/app_name"

あなたが持っている文字列に。アプリケーション全体、および必要なアクティビティに対してこれを行う必要がありますが、行は同じです。

お役に立てれば。

于 2013-01-23T15:48:58.000 に答える
5

そのためには、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);
       }
 }
}
于 2013-01-23T15:42:39.690 に答える
3

セットのタイトルの場合:

getActionBar().setTitle("Title");

セット アイコンの場合:

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
于 2016-06-03T14:15:46.163 に答える
2

内部で次の呼び出しを使用しましたonNavigationItemSelected

HomeActivity.this.setTitle(item.getTitle());
于 2017-08-16T20:41:00.080 に答える
2

アクティビティの onCreate 関数内に以下のコードを追加します。

setTitle("NewName");
于 2018-04-13T14:09:49.157 に答える
0

デフォルトでは、アクション バーのタイトルは現在のアクティビティのラベルを使用しますが、 を介してプログラムで設定することもできますActionBar.setTitle()

あなたが話している「戻る」(より正確には「上へ」)ボタン機能を実装するには、アクションバー開発者ガイドの「ナビゲーションにアプリアイコンを使用する」セクションを読んでください。

最後に、アイコンを変更するために、ガイドはそれもカバーしています。つまり、アクション バーにはandroid:icon、マニフェストapplicationまたはactivity要素があれば、その画像が表示されます。典型的な方法は、 という名前のアプリケーション アイコンを (必要なさまざまな密度のすべてで) 作成し、ic_launcher.pngそれをdrawable-*ディレクトリに配置することです。

于 2013-01-23T15:50:25.263 に答える
0

静的な PlaceholderFragment クラスでnon-static method setTitle(CharSequence) cannot be referenced from a static context使用したため、エラーが発生しました。setTitle()を使って解決しましたgetActivity().getActionBar().setTitle("new title");

于 2015-03-15T18:16:24.317 に答える