web-dev-qa-db-ja.com

Androidのアクションバーのタイトルとアイコンを変更する方法

私はAndroidのActionBarでいくつかのことをやろうとしています。

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

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

Android Action Bar

210
Allan Ramírez

これは簡単に達成できます

あなたがコードでそれを変更したいならば、呼び出してください:

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

489
dymmeh

単一のアイコンをすべてのアクションバーで使用できるようにするには、Android Manifestでこれを実行できます。

<application
    Android:logo="@drawable/Image">

    ...

</application>
16
Akshat Agarwal

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

getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
10
Sagar Devanga

アクションバーのタイトルを変更したい場合は、アクティビティのonCreate()に次の1行のコードを追加してください。

getActionBar().setTitle("Test");
9
Jabbir Basha

Android 5.0のマテリアルデザインガイドラインでは、actionBarでのアイコンの使用を推奨しています

有効にするには、次のコードを追加します。

getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);

この作者の功績によるものです article

8
Azzy

あなたはあなたのそれぞれの描画可能なフォルダにあなたが望むどんなアイコンでも追加することによってあなたの中のアイコンを変えることができます、そしてあなたのAndroidManifest.xmlファイルでこの行を変える:

Android:icon="@drawable/ic_launcher"

そこにあなたのアイコンの名前が何であってもマッチするために。同じアイコンであれば、ic_launcherとしてあなたのアイコンを入れてください。それが言うことに関しては、あなたのres/values/strings.xmlファイルでそれにマッチするどんな文字列でも追加または変更してください。それから、もう一度あなたのAndroidManifest.xmlファイルで、この行を変更してください:

Android:label="@string/app_name"

あなたが彼らに持っている文字列は何でも。あなたはアプリケーション全体として、そしてあなたが望むどの活動に対してもこれをしなければならないでしょう、しかし行は同じです。

お役に立てれば。

6
RobStemen

そのためには、XMLとJavaの2つの方法で実行できます。こちらを参照してください: アクションバーのテキストを変更する方法

そう:

XML:

<activity Android:name=".Hello_World"
              Android:label="This is the Hello World Application">
</activity>

Java:

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);
       }
 }
}
5
Miloš
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);
4

セットタイトルの場合

getActionBar().setTitle("Title");

セットアイコン用

getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
3

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

HomeActivity.this.setTitle(item.getTitle());
2
AmandaHLA

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

setTitle("NewName");
1
Chandrahasa Rai

これは私のために働く:

getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);
1
Ram Chhabra

アクションバーのタイトル名を変更したいAndroidのマニフェストに移動し、Androidと記述します。label = "Title name"

0

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

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

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

0
CloudyMusic

AndroidManifest.xml fileに移動します。 <application>タグを見つける

Android:label="@string/app_name"

res> values> strings.xmlに行きます

変更

<string name="app_name">MainActivity</string> 

<string name="app_name">Your Desired Name</string>

AndroidManifest.xml

<application
        Android:allowBackup="true"
        Android:icon="@mipmap/ic_launcher"
        Android:label="@string/app_name"
        Android:roundIcon="@mipmap/ic_launcher_round"
        Android:supportsRtl="true"
        Android:theme="@style/AppTheme">
        <activity
            Android:name=".MainActivity"
            >
            <intent-filter>
                <action Android:name="Android.intent.action.MAIN" />

                <category Android:name="Android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity Android:name=".SubmitForm">

        </activity>
    </application>

strings.xml

<resources>
    <string name="app_name">Your Desired Name</string>
    <string name="action_settings">Settings</string>
</resources>
0
Kartik ganiga

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

0
user4757345