как добавить последние штрихи (закругленные края и горизонтальный разделитель) на мои пользовательские вкладки

Это продолжение моего последнего вопроса Link

Я хотел внести небольшие коррективы во внешний вид вкладок. Я достиг этого, передав представление в setIndicator() вместо charSequence и значка.

проблема: теперь мне нужно полностью воссоздать внешний вид вкладок (я просто хотел внести небольшие изменения). да ладно, теперь у меня есть несколько вкладок, с которыми все в порядке.

По сути, есть две вещи, которые я не могу воссоздать.

главное из них: (1) мне не нужна горизонтальная полоса прямо под вкладками (того же цвета, что и выбранная вкладка), как та, которая есть по умолчанию.

вот мои вкладки:

введите здесь описание изображения

вот несколько вкладок с сайта developer.android.com

изображение не разрешено из-за хромоты stackOverflow (наказание невиновных для контроля над виновными). Если кто-нибудь знает лучшую доску объявлений, пожалуйста  включите и эти ссылки

Другое менее важно, но было бы очень приятно. (2) как сделать их действительно похожими на вкладки, а не на прямоугольники (изогнутые края, как на втором изображении). Я предполагаю, что это связано с разделителем, который я вставил. Хотя я не графический дизайнер, это хороший ресурс для этих изображений. Кроме того, я хотел бы сделать это таким образом, чтобы была хоть какая-то надежда не сломаться в будущем.

у кого-нибудь есть какие-либо предложения (особенно для Q: 1), которые были бы очень признательны. Я надеялся добавить немного дополнений, и теперь 4 дня обучения созданию пользовательских вкладок. ржу не могу


person logicbird    schedule 28.03.2011    source источник


Ответы (1)


У меня еще не все работает, но на случай, если у кого-то еще возникнут проблемы с этим, вот что я узнал.

для закругленных углов (2): поместите что-то подобное в рисунок, который вы используете для фона индикатора вкладки. для меня (и, вероятно, для большинства других) это означает вложение его в тег shape как в tab_selected.xml, так и в tab_unselected.xml.

<corners android:bottomLeftRadius="0dp"
         android:bottomRightRadius="0dp" 
         android:topLeftRadius="5dp"
         android:topRightRadius="5dp" />

Примечание. То, что я обычно называю «вкладкой» на обычном языке, на мой взгляд, технически называется «индикатором вкладок» на Android.

Для горизонтального разделителя под индикаторами вкладок (1): я все еще немного менее ясен в этом, но я думаю, что вы могли бы (1: а) добавить еще один тег формы в «tab_unselected.xml», который будет рисовать указанную вами линию.

в качестве альтернативы, я полагаю, что вы можете (1: b) указать, что можно использовать, установив свойства tabStripEnabled, tabStripLeft и tabStripRight для tabWidget.

Хотя мне это не так ясно.

ну, я надеюсь, что это может помочь кому-то, кто борется с этим, по крайней мере, получить некоторые идеи.

person logicbird    schedule 29.03.2011
comment
Спасибо! Я добавил обводку, которую можно рисовать, в свои XML-файлы tab_selected и tab_unselected, и это сработало отлично! Это также было недостаточно задокументировано. - person Phil; 19.09.2011