好的,所以我要做的就是在线性布局中设置四个圆圈。问题是圆圈显示为椭圆形。我已经尝试不在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
答案 0 :(得分:0)
使用权重的效果。
我猜想,因为你在LinearLayout中使用了(无用的)weightSum
属性。
现在,权重实际上会修改子视图尺寸,宽度不超过50dp,而高度则保持50dp。
这就是为什么你得到 ovals 而不是圈子。