Текст на вкладке TabView - PullRequest
0 голосов
/ 21 апреля 2011

Я хочу разместить текст на каждой вкладке своего приложения, а также изменить его цвет по умолчанию. , , Как это возможно?

Ответы [ 3 ]

2 голосов
/ 21 апреля 2011

Я определил собственный стиль для вкладки в одном из приложений.

Что-то вроде:

(Примечание: определите этот стиль в файле styles.xml)

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="MyTheme" parent="@android:style/Theme.Light">
        <item name="android:tabWidgetStyle">@style/LightTabWidget</item>
    </style>

    <style name="LightTabWidget" parent="@android:style/Widget.TabWidget">
        <!-- set textColor to red, so you can verify that it applied. -->
        <!-- <item name="android:textColor">#f00</item>  -->
        <item name="android:textSize">12px</item>
        <item name="android:textColor">#1E90FF</item>
    </style>

</resources>

и укажите эту тему в теге приложения внутри файла AndroidManifest.xml как:

 <application android:icon="@drawable/icon" 
                 android:label="@string/app_name"
                 android:theme="@style/MyTheme">

Обновление:

Тем не менее, вы уже закончили с решением проблемы, позвольте мне предложить пример, который также действителен: как изменить цвет текста индикатора вкладок в Android?

1 голос
/ 21 апреля 2011

Примерно так:

private View createTabIndicator(String text) {
    Button button = new Button(this);
    button.setBackgroundResource(R.drawable.tab);
    button.setText(text);
    button.setTextColor(Color.WHITE);
    button.setGravity(Gravity.CENTER);
    return button;
}
...
getTabHost().addTab(getTabHost().newTabSpec("name").setIndicator(createTabIndicator("name")).setContent(data));
0 голосов
/ 21 апреля 2011

Вот пример того, как это сделать,

TabSpec pecHome = tabHost.newTabSpec("Home").setIndicator("Home",
                res.getDrawable(R.drawable.home)).setContent(intentHome);
tabHost.addTab(specHome);

здесь ssetIndicator позволит вам отображать текст.

То есть все лучшие реагенты Anup

...