文本视图形状显示为椭圆形,即使形状是圆形
text view shape is shown as oval even though the shape is cirlce
我创建了一个名为 circle.xml 的圆形:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#FFF" />
<size
android:width="5dp"
android:height="5dp"/>
<padding
android:left="5dip"
android:right="5dip"
android:top="5dip"
android:bottom="5dip" />
</shape>
在预览中它看起来是圆形而不是椭圆形。然后我在我的文本视图中实现了它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Button
android:id="@+id/addToCartBtn"
android:layout_width="match_parent"
android:text="@string/cart_button_text"
android:textColor="#FFF"
android:background="@color/colorPrimary"
android:layout_height="65dp"/>
<TextView
android:id="@+id/cartItemsCountTV"
android:elevation="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:layout_alignStart="@id/addToCartBtn"
android:text="1"
android:textSize="16sp"
android:textStyle="bold"
android:background="@drawable/circle"/>
</RelativeLayout>
那么结果还是椭圆形:
只有当文字是两位数字如“10”时,形状才会变成圆形。为什么它应该是圆形的却变成了椭圆形?
使用相同的 layout_width
和 layout_height
使其保持为圆形而不是 wrap_content
。
<TextView
....
android:layout_width="40dp"
android:layout_height="40dp"
..../>
Using a View's size to wrap_content
will force it to expand only far
enough to contain the values (or child controls) it contains.
我创建了一个名为 circle.xml 的圆形:
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<solid
android:color="#FFF" />
<size
android:width="5dp"
android:height="5dp"/>
<padding
android:left="5dip"
android:right="5dip"
android:top="5dip"
android:bottom="5dip" />
</shape>
在预览中它看起来是圆形而不是椭圆形。然后我在我的文本视图中实现了它:
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintStart_toStartOf="parent">
<Button
android:id="@+id/addToCartBtn"
android:layout_width="match_parent"
android:text="@string/cart_button_text"
android:textColor="#FFF"
android:background="@color/colorPrimary"
android:layout_height="65dp"/>
<TextView
android:id="@+id/cartItemsCountTV"
android:elevation="20dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginStart="16dp"
android:layout_alignStart="@id/addToCartBtn"
android:text="1"
android:textSize="16sp"
android:textStyle="bold"
android:background="@drawable/circle"/>
</RelativeLayout>
那么结果还是椭圆形:
只有当文字是两位数字如“10”时,形状才会变成圆形。为什么它应该是圆形的却变成了椭圆形?
使用相同的 layout_width
和 layout_height
使其保持为圆形而不是 wrap_content
。
<TextView
....
android:layout_width="40dp"
android:layout_height="40dp"
..../>
Using a View's size to
wrap_content
will force it to expand only far enough to contain the values (or child controls) it contains.