私は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
に配置する必要がありますが、実際にはアクティビティのライフサイクル中のどこでも呼び出すことができます。
単一のアイコンをすべてのアクションバーで使用できるようにするには、Android Manifestでこれを実行できます。
<application
Android:logo="@drawable/Image">
...
</application>
この3行のコードを追加するだけです。アイコンを自分のアイコンに置き換えます。アイコンを生成したい場合は this を使用してください。
getSupportActionBar().setHomeAsUpIndicator(R.drawable.icon_back_arrow);
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
アクションバーのタイトルを変更したい場合は、アクティビティのonCreate()に次の1行のコードを追加してください。
getActionBar().setTitle("Test");
Android 5.0のマテリアルデザインガイドラインでは、actionBarでのアイコンの使用を推奨しています
有効にするには、次のコードを追加します。
getSupportActionBar().setDisplayShowHomeEnabled(true);
getSupportActionBar().setLogo(R.mipmap.ic_launcher);
getSupportActionBar().setDisplayUseLogoEnabled(true);
この作者の功績によるものです article
あなたはあなたのそれぞれの描画可能なフォルダにあなたが望むどんなアイコンでも追加することによってあなたの中のアイコンを変えることができます、そしてあなたの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>
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);
}
}
}
ActionBar actionBar = getSupportActionBar();
actionBar.setTitle(getString(R.string.titolo));
actionBar.setIcon(R.mipmap.ic_launcher);
actionBar.setDisplayShowHomeEnabled(true);
セットタイトルの場合 :
getActionBar().setTitle("Title");
セットアイコン用 :
getActionBar().setIcon(R.drawable.YOUR_ICON_NAME);
onNavigationItemSelected
内で次の呼び出しを使用しました。
HomeActivity.this.setTitle(item.getTitle());
アクティビティのonCreate関数内に以下のコードを追加します。
setTitle("NewName");
これは私のために働く:
getActionBar().setHomeButtonEnabled(true);
getActionBar().setDisplayHomeAsUpEnabled(true);
getActionBar().setHomeAsUpIndicator(R.mipmap.baseline_dehaze_white_24);
アクションバーのタイトル名を変更したいAndroidのマニフェストに移動し、Androidと記述します。label = "Title name"
アクションバーのタイトルは、デフォルトで現在のアクティビティのラベルを使用しますが、ActionBar.setTitle()
を介してプログラム的に設定することもできます。
あなたが話している "戻る"(より正確には "上へ")ボタン機能を実装するには、 Action Bar開発者ガイド の "ナビゲーションにアプリアイコンを使う"セクションを読んでください。
最後に、アイコンを変更するために、ガイドもそれをカバーしています。つまり、アクションバーは、マニフェストのapplication
要素またはactivity
要素にAndroid:icon
で指定された画像があればそれを表示します。典型的なやり方は、ic_launcher.png
という名前のアプリケーションアイコンを(あなたが必要とするさまざまな密度で)作成し、それをdrawable-*
ディレクトリに配置することです。
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>
静的PlaceholderFragmentクラスでnon-static method setTitle(CharSequence) cannot be referenced from a static context
を使用したため、setTitle()
エラーが発生しました。 getActivity().getActionBar().setTitle("new title");
を使って解決しました