LinearLayout中的Android多形状Drawables

时间:2015-09-27 17:17:48

标签: android xml android-layout android-drawable

好的,所以我要做的就是在线性布局中设置四个圆圈。问题是圆圈显示为椭圆形。我已经尝试不在circle.xml文件中设置宽度和高度,我已经尝试将视图中的圆圈宽度设置​​为0dp,wrap_content和50dp以匹配高度,仍然是椭圆形。我没有尝试在布局中设置weightSum,结果相同,它不需要在那里。

的LinearLayout

<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。

我应该放弃重量设置并使用填充物将它们分开吗?

以下是他们在设备上的外观截图

https://www.dropbox.com/s/afh8d8m3jrbhrzf/Screenshot_2015-09-27-06-35-07.png?dl=0

1 个答案:

答案 0 :(得分:0)

使用权重的效果。
我猜想,因为你在LinearLayout中使用了(无用的)weightSum属性。

现在,权重实际上会修改子视图尺寸,宽度不超过50dp,而高度则保持50dp。

这就是为什么你得到 ovals 而不是圈子。