如何设置TabLayout的样式

时间:2017-07-13 15:14:11

标签: java android android-tablayout

我试图在TabLayout中设置文字样式。我希望管理font color, size and weight等样式,将其中的文字更改为 ALL CAPS

我该怎么办呢?

TabLayout tabLayout = new TabLayout(this);
tabLayout.addTab(tabLayout.newTab().setText("Upload"));
tabLayout.addTab(tabLayout.newTab().setText("Pics"));
tabLayout.addTab(tabLayout.newTab().setText("Vids"));
tabLayout.addTab(tabLayout.newTab().setText("Papers"));

我想将TabLayout附加到XML中设置的样式:类似于:

然后我称之为:

Button button = new Button(mContext);
button.setText("Add New BAG");
button.setTextAppearance(R.style.bttn_style);
button.setTextAppearance(R.style.custom_bttn_style);

res / values / styles.xml

<style name="custom_bttn_style" parent="Widget.AppCompat.Button">
    <item name="android:textAllCaps">false</item>
    <item name="android:textStyle">bold</item>
    <item name="android:textColor">#00600f</item>
    <item name="android:textSize">18dp</item>
    <item name="android:fontFamily">\'Zilla Slab\', serif</item>
</style>

Vielen dank im voraus。

1 个答案:

答案 0 :(得分:0)

您需要为自定义视图充气,您将在其中添加所需的所有样式

View view = LayoutInflater.from(this).inflate(R.layout.icon_tab, null);
AppCompatTextView tv = (AppCompatTextView) view.findViewById(R.id.tab);
ImageView imgTab1 = (ImageView) view.findViewById(R.id.imgTab);
imgTab1.setImageResource(R.drawable.icon_tab_search);
imgTab1.setScaleType(ImageView.ScaleType.CENTER_INSIDE);
tv.setText(titles[0]);
tabLayout.getTabAt(0).setCustomView(view);