[解決済み】アクションバーのテキストを変更する方法
質問
現在、アプリケーションの名前だけが表示されていますが、何かカスタムで、アプリの画面ごとに異なるものを表示させたいと思っています。
例えば、ホーム画面ではアクションバーに「page1」と表示し、アプリが切り替わる別のアクティビティでは、その画面のアクションバーに「page2」と表示することができます。
解決方法は?
ActionBar(Title)の最新パターンを更新しました。
ご参考まで。 アクションバー は、API Level 11 で導入されました。ActionBarは、Activityの上部にあるウィンドウ機能で、以下のようなものが表示されることがあります。 アクティビティタイトル ナビゲーションモードや、検索などのインタラクティブなアイテムがあります。
タイトルバーをカスタマイズして、アプリケーションの中で統一感を持たせたことはよく覚えています。ですから、以前の時代と比較し、ActionBarを使うことの利点をいくつか挙げることができます。
- 異なるスクリーン構成に優雅に適応するシステムが、アプリケーション間で慣れ親しんだインターフェイスをユーザーに提供します。
- ActionBarはトップレベルの抽象化によってすでに準備されているため、開発者はアクティビティタイトル、アイコン、ナビゲーションモードを表示するために多くのコードを書く必要がありません。
例えば
=>通常の方法です。
getActionBar().setTitle("Hello world App");
getSupportActionBar().setTitle("Hello world App"); // provide compatibility to all the versions
=> アクションバーのカスタマイズ。
例えば
@Override
public void setActionBar(String heading) {
// TODO Auto-generated method stub
com.actionbarsherlock.app.ActionBar actionBar = getSupportActionBar();
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayHomeAsUpEnabled(false);
actionBar.setDisplayShowHomeEnabled(false);
actionBar.setBackgroundDrawable(new ColorDrawable(getResources().getColor(R.color.title_bar_gray)));
actionBar.setTitle(heading);
actionBar.show();
}
アクションバーのスタイリング。
ActionBarは、基本的で見慣れたルックス、ナビゲーションモード、その他のクイックアクションを実行するための機能を提供します。しかし、どのアプリでも同じように見えるというわけではありません。UIやデザインの要件に応じて、カスタマイズすることができます。スタイルとテーマを定義し、記述する必要があります。
詳しくはこちらでご覧ください。 アクションバーのスタイリング
また、ActionBarのスタイルを生成したい場合は、次のようにします。 スタイルジェネレータ ツールにお任せください。
=================================================================================
古い。以前のこと。
=>普通の方法。
を設定することで、各画面(アクティビティ)のタイトルを変更することができます。
Android:label
<activity android:name=".Hello_World"
android:label="This is the Hello World Application">
</activity>
=> カスタム - タイトル - バー
しかし、もしあなたがタイトルバーを自分流にカスタマイズしたいのであれば、例えば
Want to put Image icon and custom-text
であれば、以下のコードでうまくいきます。
main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
タイトルバー.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="400dp"
android:layout_height="fill_parent"
android:orientation="horizontal">
<ImageView android:id="@+id/ImageView01"
android:layout_width="57dp"
android:layout_height="wrap_content"
android:background="@drawable/icon1"/>
<TextView
android:id="@+id/myTitle"
android:text="This is my new title"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:textColor="@color/titletextcolor"
/>
</LinearLayout>
タイトルバー(TitleBar.java)
public class TitleBar extends Activity {
@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);
}
}
}
文字列.xml
strings.xml ファイルは
values
フォルダーに格納されます。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Set_Text_TitleBar!</string>
<string name="app_name">Set_Text_TitleBar</string>
<color name="titlebackgroundcolor">#3232CD</color>
<color name="titletextcolor">#FFFF00</color>
</resources>
関連
-
[解決済み】java.lang.RuntimeException: アクティビティを開始できない ComponentInfo
-
[解決済み] Gradle DSL メソッドが見つかりません:'compile()'
-
[解決済み] TextViewでテキストを水平・垂直方向にセンタリングするには?
-
[解決済み] Androidのソフトキーボードをプログラムで閉じる/隠すにはどうすればよいですか?
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] Bitmapオブジェクトに画像を読み込む際にOutOfMemoryが発生する問題
-
[解決済み] グリッドレイアウトにおけるフリングジェスチャーの検出
-
[解決済み] Androidアプリの名前を変更する方法を教えてください。
-
[解決済み】「px」、「dip」、「dp」、「sp」の違いは?
-
[解決済み】AppCompat用全画面テーマ
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】このアクティビティでは、Theme.AppCompatテーマ(またはその子孫)を使用する必要があります。
-
[解決済み] 現在のテーマでスタイル 'coordinatorLayoutStyle' を見つけることができませんでした。
-
[解決済み] 設定 ':classpath' の依存関係をすべて解決できなかった。
-
[解決済み】android.content.ActivityNotFoundException: 明示的なアクティビティクラスを見つけることができません。
-
[解決済み】Android Studioで最新バージョンのgradleを使用する方法
-
[解決済み】googleコンソールエラー`OR-IEH-01`について
-
[解決済み] コンパイルした.apkを端末にインストールしようとするとINSTALL_FAILED_UPDATE_INCOMPATIBLEが表示される
-
[解決済み] ADBエラー:デーモンに接続できない
-
[解決済み] APKのインストール中にDELETE_FAILED_INTERNAL_ERRORエラーが発生する。
-
[解決済み】アンドロイドのアクションバーのタイトルとアイコンを変更する方法