有人可以告诉我为什么在使用此布局时我的ImageButton
没有显示:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/main"
android:orientation="vertical" >
<ImageButton
android:id="@+id/continuebutton"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1.02"
android:background="@android:color/transparent"
android:src="@drawable/continuebutton"
android:visibility="visible" />
</RelativeLayout>
当我使用LinearLayout
时,它显示得很好。任何人都可以澄清我做错了什么?
答案 0 :(得分:1)
您正在尝试将layout_weight添加到RelativeLayout - 这没有任何意义。相对布局将项目相对于彼此放置。它们的宽度和高度没有像LinearLayout那样整体计算,因为流程在线性布局上很重要,而不是在相对布局中。
将按钮设置为wrap_content或match_parent。如果你想要权重,可以在RelativeLayout中嵌入一个LinearLayout。
有关此内容的详细信息:Percentage width in a RelativeLayout
修改强> 当计算如何布局其子视图时,LinearLayout会查看其方向上的权重AND 0dip值。假设您在水平线性布局中并排放置2个项目...如果它们都是0dip宽度,则宽度将根据其重量计算。 RelativeLayout不会这样做。它不担心物品的流动。它将物品相对于彼此放置。
HTH