我有以下xml文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/linearLayout1"
android:background="@android:color/transparent"
android:layout_marginTop="0px"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:weightSum="1"
android:orientation="horizontal">
<Button android:id="@+id/info" android:text="Info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
<Button android:id="@+id/town" android:text="Town" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
<Button android:id="@+id/unit" android:text="Unit" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom"></Button>
<Button android:layout_height="wrap_content" android:text="EndTurn" android:id="@+id/endturn" android:layout_width="wrap_content" android:layout_gravity="bottom"></Button>
</LinearLayout>
提供以下结果:http://i42.tinypic.com/otdkb4.png
现在我对此有一些疑问:
顶部和底部填充,如何摆脱它? 我尝试过RelativeLayout,彼此之间有多个布局,填充,边距,更改高度似乎没有任何影响它。
有没有办法让布局透明化? android:背景似乎是错误的。
在第三个和第五个按钮之间有一点空间(第四个按钮应该是这样)。我在程序中捕获它并将其设置为不可见。
unitButton.setVisibility(不可见); unitButton.setWidth(0);
现在两个按钮之间的空间是正常范围的两倍以上(介于1和2之间)这有什么想法吗? - 这是一个小问题
提前致谢。
答案 0 :(得分:0)
1:布局是否以对话形式显示?如果是这样,那会让你头疼。要获得更多控制,您应该创建自己的自定义Dialog扩展(因为某些对话框布局值是硬编码的),或者以另一种方式显示您的布局(顶部的新活动,或者使用framelayout)?
2:要使布局透明,只需不要给它一个background-attribute。 (但是,如果你真的在使用对话框,那么对话框不是透明的,而是你看到的对话框。你也可以通过将背景设置为“#00000000”(这就是你所做的)将其设置为透明。
3:仍然可以测量可见性为“不可见”的视图,这意味着它的宽度/高度以及边距和填充在布局中显示为空白区域。将可见性设置为“已消失”将不会测量它,您也不需要setWidth(0)。 (您稍后可以通过将其设置为“可见”来显示它)
编辑:删除未使用的“weightSum”属性也可能是一个好主意,因为视图现在期望其子项的总权重不是0。