Android LinearLayout 中的多个形状可绘制对象
Android Multiple Shape Drawables In LinearLayout
好的,所以我要做的就是在线性布局中设置四个圆圈。问题是圆圈显示为椭圆形。我尝试不在 circle.xml 文件中设置宽度和高度,我尝试将视图中圆圈的宽度设置为 0dp、wrap_content 和 50dp 以匹配高度,仍然是椭圆形。我试过不在布局中设置 weightSum 得到相同的结果,就像它不需要在那里一样。
线性布局
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="200dp"
android:paddingRight="@dimen/xlarge_padding"
android:paddingLeft="@dimen/xlarge_padding"
android:orientation="horizontal"
android:weightSum="4">
circle_blue.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="50dp"
android:height="50dp" />
<solid android:color="@color/fc_blue"/>
我用宽度设置为 0dp、高度设置为 50dp 的视图调用圆圈,layout_weight 设置为 1,背景设置为 circle_xxx.xml。
我是否应该放弃权重设置并使用填充将它们 space 分开?
这是他们在设备上的样子的屏幕截图
https://www.dropbox.com/s/afh8d8m3jrbhrzf/Screenshot_2015-09-27-06-35-07.png?dl=0
这是使用权重的效果。
我猜是因为你在 LinearLayout.
中使用了(无用的)weightSum
属性
现在,权重实际上修改了子视图的尺寸,宽度不再是 50dp,而高度保持 50dp。
这就是为什么您会得到 椭圆形 而不是圆形的原因。
好的,所以我要做的就是在线性布局中设置四个圆圈。问题是圆圈显示为椭圆形。我尝试不在 circle.xml 文件中设置宽度和高度,我尝试将视图中圆圈的宽度设置为 0dp、wrap_content 和 50dp 以匹配高度,仍然是椭圆形。我试过不在布局中设置 weightSum 得到相同的结果,就像它不需要在那里一样。
线性布局
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="200dp"
android:paddingRight="@dimen/xlarge_padding"
android:paddingLeft="@dimen/xlarge_padding"
android:orientation="horizontal"
android:weightSum="4">
circle_blue.xml
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="oval">
<size
android:width="50dp"
android:height="50dp" />
<solid android:color="@color/fc_blue"/>
我用宽度设置为 0dp、高度设置为 50dp 的视图调用圆圈,layout_weight 设置为 1,背景设置为 circle_xxx.xml。
我是否应该放弃权重设置并使用填充将它们 space 分开?
这是他们在设备上的样子的屏幕截图
https://www.dropbox.com/s/afh8d8m3jrbhrzf/Screenshot_2015-09-27-06-35-07.png?dl=0
这是使用权重的效果。
我猜是因为你在 LinearLayout.
weightSum
属性
现在,权重实际上修改了子视图的尺寸,宽度不再是 50dp,而高度保持 50dp。
这就是为什么您会得到 椭圆形 而不是圆形的原因。