2

これが私のレイアウトです。ボタンの親ではないレイアウト内の他の1つのウィジェット(messageTextウィジェット)にのみ重みを設定しているにもかかわらず、下部の2つのボタンに対してこのメ​​ッセージが表示されます。私は何を間違っていますか?ありがとう。

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

2 に答える 2

3

あなたは何も悪いことをしていません、それはただの警告です。Android ビュー エンジンは XML を解釈し、ビュー オブジェクトを構築します。Google は、レイアウト内にネストされたウェイト (つまり、android:layout_weight属性を持つビュー) を別のレイアウト内に配置すると、ビュー エンジンのパフォーマンスが低下するため、そうしないようにアドバイスしています。

属性を使用せずに構築中のレイアウトを実現する別の方法がある場合はandorid:layout_weight、その方法で行うのが最善です。そうしないと、ビューの読み込みが少し遅くなる可能性があります。

于 2012-05-23T20:03:59.037 に答える
2

重み 1 の編集テキスト (@+id/messageText) を指定しました - そのリニア レイアウト内の他のウィジェットには重みがないため、そうするつもりでしたか?

その下には、重みを正当に使用する 2 つのボタンを含む線形レイアウトがあります。

NB は非常に単純なレイアウトなので、おそらく問題ありません。より多くのレイアウトとウィジェットを含むより深い階層がある場合、速度が低下する可能性が高くなります。

于 2012-05-23T19:59:56.700 に答える