0

ネストされた線形レイアウトがあります。私のエミュレーターでは、完全なレイアウトが表示されます。しかし、私の電話では、レイアウトが完全に表示されていません。間に挟まれます。一番下の要素は表示されません。

レイアウトを画面に完全に合わせるにはどうすればよいですか?

それが私の電話でどのように見えるかのスクリーンショット:

それが私の電話でどのように見えるかのスクリーンショット:

これが私のコードです:

    <?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@raw/bg1"    
    android:orientation="vertical">

    <LinearLayout
        android:layout_marginTop="20dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"         
        android:orientation="horizontal">

        <ImageView
        android:id="@+id/imageView1"
        android:layout_width="60dp"
        android:layout_height="60dp"       
        android:src="@drawable/logo" />

        <TextView
        android:id="@+id/textView1"
        android:layout_marginLeft="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content" 
        android:layout_gravity="center"       
        android:text="Large Text"
        android:textAppearance="?android:attr/textAppearanceLarge" />    

    </LinearLayout>

     <Button
        android:id="@+id/button1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center"
        android:layout_marginTop="30dp"
        android:layout_centerHorizontal="true"        
        android:text="Button" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="30dp"
        android:layout_marginLeft="20dp"
        android:layout_marginRight="20dp" 
        android:orientation="horizontal">

        <EditText
        android:id="@+id/editText1"
        android:background="#33FFFFFF"
        android:layout_width="200dp"
        android:layout_height="200dp"   />

        <ImageButton
        android:id="@+id/imageButton1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="65dp"       
        android:src="@drawable/ic_talk" />

    </LinearLayout>

    <Button
        android:id="@+id/button2"
        style="?android:attr/buttonStyleSmall"
        android:layout_gravity="center"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button" />

</LinearLayout>
4

2 に答える 2

2

ウェイトを使用する場合、画面サイズに関係なく同じ結果が得られます。この場合、これがあなたの問題だと思います。このページで説明されています:http: //developer.android.com/training/basics/firstapp/building-ui.html

例えば:

<EditText android:id="@+id/edit_message"
        android:layout_weight="1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:hint="@string/edit_message" />
于 2013-03-26T11:05:20.183 に答える
0

要素の幅、高さ、境界線を静的な数値として宣言しているためです。デバイスとエミュレーターは異なるサイズである必要があり、エミュレーターでは正しく表示されるが他のデバイスでは表示されないようにハードコードされた値があります。レイアウトを適切に作成する方法については、こちらをお読みください。

于 2013-03-26T11:02:16.450 に答える