タブにアイコンが表示できないときの対処法

TabWidgetなどを使ってタブを作り、そのタブにアイコンタイトルを一緒につけたい場合に次のようなコードを書いたとします。

Drawable tabIcon = getResource().getDrawable(drawable.ic_dialog_info);
TabSpec tabSpec = tab_host.newTabSpec("TAB1");
tabSpec.setIndicator("タブ1", tabIcon);

setIndicatorメソッドにタイトルとのアイコン画像を渡すだけで良いですが、これだけではアイコンが表示されないことがあります。

その原因はアプリのタイトルバーが表示されたままになっているためなので次のようにAndroidManifest.xmlapplicationタグなどにタイトルバーを持たないスタイルを適用してあげます。

<?xml version="1.0" encoding="utf-8" ?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
    package="com.PopupMusicPlayer.popupmusicplayer" 
    android:versionCode="1" 
    android:versionName="1.0" >
   <application
        android:icon="@drawable/ic_launcher" 
        android:label="@string/app_name" 
        android:theme="@android:style/Theme.NoTitleBar" >
            <!--theme属性にタイトルバーなしのスタイルを渡す。-->

こうすればタイトルバーがなくなりその分スペースが空くので次のようにタイトルとアイコンが上下に表示されるようになります。

タイトルバーとアイコンが同時に表示されたタブの画像
関連項目
プライバシーポリシー