我正在使用gridview制作一个简单的计算器应用程序。我正在使用gridView来保存计算器的按钮。 gridview单元格是TextView的布局。 dextView使用可绘制的背景,使用椭圆形状。 以下是XML表示:
网格单元格的布局xml
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/id_gridCell"
android:background="@drawable/circularbutton_selector"
android:layout_margin="0dp"
android:gravity="center_horizontal|center_vertical"
android:textSize="40dp"
android:text="-"
android:layout_gravity="center_horizontal|center_vertical"
android:elevation="5dp"
/> </LinearLayout>
可绘制形状
xmlns:android="http://schemas.android.com/apk/res/android" android:shape="oval">
<solid android:color="@color/accent_material_dark"/>
<stroke android:width="2dp" android:color="#AAA"/> </shape>
问题: 根据单元宽度/高度,形状最终变为椭圆形而不是圆形。我无法指定硬编码值,因为网格子节点应该为任何设备缩放。有没有办法实现与设备尺寸一致的圆? 我们的想法是通过利润率的变化来扩大规模。