我SlidingTabs用来创建两个选项卡.选项卡的UI应如下所示 -
选择第一个选项卡时

选择第二个选项卡时.

(请注意蓝色矩形的直角)
我使用以下选择器来创建上面显示的UI.
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<!-- Active tab -->
<item android:state_selected="true" android:state_focused="false"
android:state_pressed="false" android:drawable="@drawable/round_corner_rectangle" />
<!-- Inactive tab -->
<item android:state_selected="false" android:state_focused="false"
android:state_pressed="false" android:drawable="@android:color/transparent" />
<!-- Pressed tab -->
<item android:state_pressed="true" android:state_selected="true" android:drawable="@drawable/round_corner_rectangle" />
<item android:state_pressed="true" android:state_selected="false" android:drawable="@color/transparent" />
<!-- Selected tab (using d-pad) -->
<item android:state_focused="true" android:state_selected="true"
android:state_pressed="false" android:drawable="@android:color/transparent" />
</selector>
Run Code Online (Sandbox Code Playgroud)
round_corner_rectangle代码如下 -
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<corners android:radius="5dp"/>
<solid android:color="@color/login_background" />
</shape>
Run Code Online (Sandbox Code Playgroud)
login_background是深蓝色.使用上面的代码,我得到以下 -


我可以当然从中删除corner项目round_corner_rectangle以获得深蓝色背景而不是圆形.如果我将蓝色矩形的右侧笔直,当选择另一个选项卡时,矩形会在错误的一侧倒圆.
我该怎么做才能获得第一张图片中显示的UI?
更新: - …
android android-layout android-tabs android-selector pagerslidingtabstrip
我想为我在应用程序中构建的选项卡实现圆角。到目前为止,我能够想出这个
我希望我的圆角看起来如此。(我已将其编码为仅显示左右角,但当状态更改时,它看起来像上图)

下面是我到目前为止编写的代码。如何通过代码实现适当的圆角?
选定的 TAB.XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<corners
android:topRightRadius="10dp"
android:bottomLeftRadius="10dp"/>
<gradient
android:startColor="#000"
android:endColor="#000"
android:gradientRadius="400"
android:angle="-270"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
未选择的 TAB.XML
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle"
>
<gradient
android:angle="90"
android:startColor="#880f0f10"
android:centerColor="#8858585a"
android:endColor="#88a9a9a9"/>
<corners
android:topLeftRadius="10dp"
android:bottomRightRadius="10dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)
感谢您的答复 !!:)
我想创建一个这样的tablayout:
如您所见,我为选项卡布局背景设置了圆角。我尝试了以下代码:
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:layout_scrollFlags="scroll|enterAlways"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light" />
<android.support.design.widget.TabLayout
android:id="@+id/tabs2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:tabIndicatorColor="#CECECF"
app:tabBackground="@drawable/tab_bar_bg"
app:tabMode="fixed"
app:tabGravity="fill"/>
Run Code Online (Sandbox Code Playgroud)
结果:
有没有办法用 tablayout 实现这个圆角?如果答案是肯定的,那么我的路线图是什么?
Ps:不要介意屏幕截图上的图标或图标颜色。