我有一个带有某种开关按钮的应用程序,它实际上是2个textviews对齐在屏幕的中心,我有一个问题,而我在JB设备中测试应用程序它一切正常,但是当我在一些GB设备中测试后,textview的背景搞砸了。 这就是JellyBean设备上的显示方式:
这就是它在GingerBread设备上的显示方式:
知道会发生什么事吗?
这些是xml文件的相关部分:
layout_activity.xml
<LinearLayout
android:id="@+id/Layout_driver_status"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/Layout_Profile"
android:layout_marginBottom="10dp"
android:layout_marginTop="20dp"
android:gravity="center_horizontal"
android:orientation="horizontal" >
<TextView
android:id="@+id/tv_Libre"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background_libre"
android:paddingBottom="20dp"
android:paddingLeft="40dp"
android:paddingRight="40dp"
android:paddingTop="20dp"
android:text="Libre"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#ffffff" />
<TextView
android:id="@+id/tv_NoDisponible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/background_no_disponible"
android:paddingBottom="20dp"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="20dp"
android:text="No Disponible"
android:textAppearance="?android:attr/textAppearanceMedium"
android:textColor="#ffffff" />
</LinearLayout>
抽拉/ Background_libre.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:bottom="3dp">
<shape android:shape="rectangle" >
<corners
android:topLeftRadius="6dp"
android:bottomLeftRadius="6dp"
/>
<solid android:color="@color/libre_verde" />
</shape>
</item>
</layer-list>
抽拉/ Background_no_disponible.xml
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item android:bottom="3dp">
<shape android:shape="rectangle" >
<corners android:bottomRightRadius="6dp"
android:topRightRadius="6dp"
/>
<solid android:color="@color/no_disponible_plomo" />
</shape>
</item>
</layer-list>
答案 0 :(得分:4)
这是一个已知的错误。向右翻转版本12及以下。
像这样:
<corners
android:topLeftRadius="6dp"
android:bottomRightRadius="6dp" />
同样适用于第二个drawable。
您必须将这些已编辑(左右颠倒)的drawable放在res/drawable-v12
文件夹中。如果不存在则创建它。您的常规drawable(上面发布的)将保留在red/drawable
文件夹中。
错误归档于:Link。
答案 1 :(得分:1)
如果将两个textview放在LinearLayout中,并在内部LinearLayout上设置角半径,会发生什么?
澄清:
<LinearLayout ...>
<LinearLayout
android:topLeftRadius="6dp"
android:topRightRadius="6dp"
android:bottomLeftRadius="6dp"
android:bottomRightRadius="6dp"
... >
<TextView ... />
<TextView ... />
</LinearLayout>
</LinearLayout>