久々にAndroidアプリを触っていて、ActionBarのタイトルを消しつつアイコンだけ表示させたいなーと思い少しハマりました。
いろいろ調べたのですが上手くいかず、以下の方法でとりあえずシンプルに実現できました。
-- AndroidManifest.xml --
<application>のandroid:labelを空にして、起動Activity(?)のandroid:labelにアプリ名をセットしています。これで、起動Activityとアプリ一覧でのみタイトルが表示されるようになりました。
<application
... 略
android:label="">
<activity android:name=".MainActivity" android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
-- MainActivity --
setTitle("")してタイトルを消しています。これで、アプリ一覧でのみタイトルが表示されるようになりました。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
setTitle("");
... 略
もっとスマート(標準的)な方法があれば教えて下さい。。。
--
追記: この方法だと起動時に一瞬表示されてしまいますね。。。
というわけで改善策が以下です。
編集するのは AndroidManifest.xml だけでよく、<application>のandroid:labelを空にする。起動Activityの<intent-filter>にandroid:labelを指定する。でした。
<application
... 略
android:label="">
<activity android:name=".MainActivity">
<intent-filter android:label="@string/app_name">
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
参考(というかそのまんま):
http://stackoverflow.com/questions/3488664/android-launcher-label-vs-activity-title