如何实现圆角的选项卡中的Andr​​oid 2.1 +选项卡、如何实现、圆角、Andr

2023-09-05 05:15:44 作者:七个字的唯美名字

谁能帮我实现圆角的TabWidget与Android 2.1 +。我基本上是试图给TabWidget通过xml配置自定义主题纯粹。我曾尝试以下,但只有文字的颜色变化。

Can anyone help me achieve rounded corners for the TabWidget with android 2.1 + . I am basically trying to give the TabWidget a custom theme purely via xml configuration. I have tried the following, but only the text color changes.

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="Tab_ForeColor">#6095C1</color>
    <color name="Tab_BackgroundColor">#411485</color>

    <style name="TestTheme" parent="android:Theme.Black">
        <item name="android:tabWidgetStyle">@style/TestTab</item>
    </style>

    <style name="TestTab" parent="@android:style/Widget.TabWidget">
        <item name="android:textAppearance">@style/TestTextApperance</item>
        <item name="android:drawable">
            <drawable name="rounded_tab">
                <shape xmlns:android="http://schemas.android.com/apk/res/android"
                    android:shape="rectangle">
                    <stroke android:width="3dip" android:color="@android:color/white" />
                    <solid android:color="@android:color/white" />
                    <corners android:bottomRightRadius="0.1dip"
                        android:bottomLeftRadius="0.1dip" android:topLeftRadius="15dip"
                        android:topRightRadius="15dip" />
                </shape>
            </drawable>
        </item>
    </style>

    <style name="TestTextApperance">
        <item name="android:textSize">14dp</item>
        <item name="android:textStyle">normal</item>
        <item name="android:textColor">@color/Tab_ForeColor</item>
    </style>
</resources>

TIA

安德鲁

推荐答案

一个解决方案是设置带圆角的图像上的标签,我知道的,俗气的解决办法,但工程。

a Solution is setting an image with round corners over the tab, I know, cheesy solution but works.

tab = tabs.newTabSpec("tab_Busquedas");
tab.setContent(new Intent().setClassName("com.grapp", "com.grapp.homes").putExtras(bundle));
tab.setIndicator(null,null);
tabs.addTab(tab);
//here you set the image with rounded corners over the tab.
tabs.getTabWidget().getChildAt(0).setBackgroundResource(R.drawable.mytab_roundedcorners);

R.drawable.mytab_roundedcorners将是一个选择器。

R.drawable.mytab_roundedcorners will be a selector.