#android
#Android
Вопрос:
Я хочу использовать текст только на вкладках моего табличного описания. К сожалению, по умолчанию вкладки очень большие, а текст очень маленький. Я не вижу способа настроить размер текста или высоту вкладок без использования TabSpec.setIndicator(View)
; что было бы очень нежелательно, потому что тогда мне пришлось бы определять конкретный макет, селектор, выбранное изображение, невыбранное изображение и т.д… таким образом, мои вкладки не будут соответствовать внешнему виду каждого устройства. Есть ли удобный способ настроить внешний вид вкладки?
mTabHost.addTab(mTabHost.newTabSpec("system").setIndicator("My first tab").setContent(R.id.fileBrowserTabHostSystemList));
mTabHost.addTab(mTabHost.newTabSpec("recent").setIndicator("My Second tab").setContent(R.id.fileBrowserTabHostRecentList));
Комментарии:
1. Это лучший пример, с которым я сталкивался: joshclemm.com/blog/?p=136
2. Я действительно предпочитаю этого не делать, потому что я хотел бы, чтобы мои вкладки выглядели локально.
Ответ №1:
Мне удалось приятным образом изменить высоту табуляции:
final int tabChildrenCount = tabWidget.getChildCount();
View currentTab;
for (int i = 0; i < tabChildrenCount; i ) {
currentTab= tabWidget.getChildAt(i);
currentTab.getLayoutParams().height = 32;
}
tabWidget.getLayoutParams().height = LayoutParams.WRAP_CONTENT;
tabWidget.requestLayout();
Я также попытался получить высоту заголовка на вкладке и установить для нее высоту вкладки:
currentTab.findViewById(android.R.id.title).getHeight();
// also tried with getMeasuredHeight()
но она возвращает 0, поскольку была в методе onCreate(), и представление, похоже, не знает своего размера в тот момент. Параметры компоновки.WRAP_CONTENT не подходит для высоты табуляции, потому что он действовал как FILL_PARENT .
Однако обратите внимание, что это решение предполагает только то, что заголовок вкладки будет умещаться в 32 пикселя.
Тем не менее, безопаснее всего вручную выполнить макет (как уже было опубликованоhttp://joshclemm.com/blog/?p=136). Получить ресурсы из репозитория Android и настроить 🙂
Комментарии:
1. Я думаю, что нет хорошего способа сделать это. Спасибо за предложение.
2. ab11, проверьте новое решение.