Android 16到23安卓版本中的安卓圆形
我想做一个圆圈,它在所有Android版本中都是完美的 我尝试创建一个如下的可绘制图形:Android 16到23安卓版本中的安卓圆形,android,android-layout,Android,Android Layout,我想做一个圆圈,它在所有Android版本中都是完美的 我尝试创建一个如下的可绘制图形: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" > ...color..stroke... </shape> …颜色…笔划。。。 在我的布局中,我创建了一个文本视图
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval" >
...color..stroke...
</shape>
…颜色…笔划。。。
在我的布局中,我创建了一个文本视图,如:
<TextView
android:background="@drawable/shape_circle"
android:layout_width="64dp"
android:layout_height="64dp"
/>
问题是一些设备显示圆形视图,而另一些设备显示椭圆形视图
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
>
<TextView
android:id="@+id/text_table_empty"
android:text="14"
android:gravity="center"
android:textColor="@color/medium_gray"
android:textSize="18sp"
android:background="@drawable/shape_table"
android:layout_width="64dp"
android:layout_height="64dp"
/>
<TextView
android:id="@+id/text_table_used"
android:text="14"
android:gravity="center"
android:textColor="@color/white"
android:textSize="18sp"
android:background="@drawable/shape_table_used"
android:layout_width="64dp"
android:layout_height="64dp"
/>
<TextView
android:layout_marginTop="2dp"
android:layout_marginRight="2dp"
android:textSize="12sp"
android:textColor="@color/white"
android:id="@+id/text_table_num_orders"
android:layout_alignRight="@+id/text_table_used"
android:layout_alignTop="@+id/text_table_used"
android:gravity="center"
android:background="@color/light_green"
android:text="1"
android:layout_width="20dp"
android:layout_height="20dp"/>
</RelativeLayout>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@color/light_gray"/>
<stroke android:width="1dp"
android:color="@color/medium_gray"
/>
<size
android:width="64dp"
android:height="64dp"/>
</shape>
可拉伸形状\u表:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="8dp"
>
<TextView
android:id="@+id/text_table_empty"
android:text="14"
android:gravity="center"
android:textColor="@color/medium_gray"
android:textSize="18sp"
android:background="@drawable/shape_table"
android:layout_width="64dp"
android:layout_height="64dp"
/>
<TextView
android:id="@+id/text_table_used"
android:text="14"
android:gravity="center"
android:textColor="@color/white"
android:textSize="18sp"
android:background="@drawable/shape_table_used"
android:layout_width="64dp"
android:layout_height="64dp"
/>
<TextView
android:layout_marginTop="2dp"
android:layout_marginRight="2dp"
android:textSize="12sp"
android:textColor="@color/white"
android:id="@+id/text_table_num_orders"
android:layout_alignRight="@+id/text_table_used"
android:layout_alignTop="@+id/text_table_used"
android:gravity="center"
android:background="@color/light_green"
android:text="1"
android:layout_width="20dp"
android:layout_height="20dp"/>
</RelativeLayout>
<?xml version="1.0" encoding="UTF-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@color/light_gray"/>
<stroke android:width="1dp"
android:color="@color/medium_gray"
/>
<size
android:width="64dp"
android:height="64dp"/>
</shape>
OBS:使用的可绘制形状表与形状表相同,没有笔划和其他颜色。事实上,您几乎完全正确。圆形是一个具有相同宽度和高度的椭圆形,因此您可以在形状内设置宽度和高度,这样您就可以在每个设备中获得圆形
<?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="@color/white"/>
<size
android:width="100dp"
android:height="100dp"/>
</shape>
如果你想要一个圆,你可以使用这个,但是你的视角高度和宽度必须相等
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:angle="270"
android:endColor="#80FF00FF"
android:startColor="#FFFF0000" />
</shape>
你也用这个
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<gradient
android:angle="270"
android:endColor="#80FF00FF"
android:startColor="#FFFF0000" />
<size
android:width="80dp"
android:height="80dp"/>
</shape>
请使用此
也可以删除尺寸标记,但在这种情况下,视图的高度和宽度必须相等
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<stroke
android:width="1dp"
android:color="#E0D8D0" />
<size
android:width="80dp"
android:height="80dp"/>
</shape>
请参见下面的另一个答案。请在使用文本视图的位置添加整个布局文件。我在上一个版本中添加了。从绘图中删除尺寸标记。我建议您在自定义视图中绘制一个圆圈。它将在每个设备上呈圆形。