这是我的布局,我正在为底部的2个按钮收到此消息,即使我已经为布局中的另一个小部件设置了权重,这不是按钮的父级(messageText小部件) 。我究竟做错了什么?感谢。
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:orientation="horizontal"
android:layout_marginTop="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
android:layout_marginLeft="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/status_label"
android:textStyle="bold"
android:textSize="20dip"
android:textColor="#FEFF80"/>
<TextView
android:id="@+id/statusText"
android:layout_marginLeft="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/unsent"
android:textSize="20dip"
android:textColor="#FEFF80"/>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_marginTop="10dip"
android:layout_height="1dip"
android:background="#FEFF80"/>
<TextView
android:layout_marginTop="10dip"
android:layout_marginLeft="11dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/message_number_caption"
android:textSize="15dip"/>
<EditText
android:id="@+id/messageNumber"
android:inputType="phone"
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
<TextView
android:layout_marginTop="30dip"
android:layout_marginLeft="11dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/message_text_caption"
android:textSize="15dip"/>
<EditText android:inputType="text"
android:id="@+id/messageText"
android:layout_marginTop="10dip"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_weight="1.0"
android:layout_width="fill_parent"
android:layout_height="0dip"/>
<LinearLayout
android:orientation="horizontal"
android:layout_marginTop="10dip"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<Button
android:id="@+id/sendButton"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/send_button_label"
android:textSize="15dip"/>
<Button
android:id="@+id/resetButton"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:text="@string/reset_button_label"
android:textSize="15dip"/>
</LinearLayout>
</LinearLayout>
答案 0 :(得分:3)
你没有做错什么,只是一个警告。 Android视图引擎解释您的XML并构建视图对象。谷歌已经决定在布局中嵌套权重(即带有android:layout_weight
属性的视图),在另一个布局中导致视图引擎表现不佳,并建议你不要这样做。
如果有另一种方法来实现您正在构建的布局而不使用andorid:layout_weight
属性,那么最好这样做。否则,您的视图可能会缓慢加载。
答案 1 :(得分:2)
你已经指定了一个权重为1的编辑文本(@ + id / messageText) - 你的意思是这样做,因为该线性布局中的其他小部件没有权重吗?
然后在下面你有一个线性布局,有两个合法使用重量的按钮。
N.B。这是一个非常简单的布局,所以你可能很好。如果您有更多的布局和小部件的层次结构,那么您将更有可能看到减速。