0

Eclipseの4インチエミュレーターでアプリを開発しています。私の携帯電話は4.6インチのAndroidデバイスであり、そこでテストすると、コンテンツが正しくスケーリングされません。

携帯電話はコンテンツを同じサイズに保ち、すべてを上に移動して余分なスペースを空のままにしているようです。

私が読んだことから、私がdpを使用し、使用しない限り、同じレイアウトを維持することになっていると思いました。それは、私の画像もdpである必要があるということですか?

助言がありますか?

編集:

ここにいくつかのコードがあります:

    <?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="@drawable/tfltestbg2"
    android:orientation="vertical" >

    <ImageView
            android:layout_width="fill_parent"
            android:layout_height="55dp"
            android:background="@drawable/tfl_header_port" 
            android:gravity = "center_horizontal"
            android:layout_gravity = "center_horizontal"/>

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="40dp"
        android:orientation="horizontal" 
        android:layout_gravity = "center"
        android:gravity = "center"
>

        <Button
            android:id="@+id/buttonTakePic"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:layout_gravity="left"
            android:gravity = "left"
            android:background="@drawable/takepic_button" />

        <Button
            android:id="@+id/mMegaGalleryButton"
            android:layout_width="120dp"
            android:layout_height="match_parent"
            android:layout_gravity="center"
            android:gravity = "center"
            android:background="@drawable/add_fotos" />

        <Button
            android:id="@+id/mGalleryButton"
            android:layout_width="100dp"
            android:layout_height="match_parent"
            android:layout_gravity="right"
            android:gravity = "right"
            android:background="@drawable/selectpic" 
            android:paddingLeft = "10dp"
            android:paddingRight = "10dp"/>


    </LinearLayout>

    <LinearLayout
        android:id="@+id/image_container"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:layout_gravity="center"
        android:background="@drawable/outline_box"
        android:gravity="center">

        <FrameLayout
            android:layout_width = "match_parent"
            android:layout_height = "fill_parent"
            android:gravity = "center"
            android:layout_gravity = "center">

            <ImageView
                android:id="@+id/image"
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:background = "@drawable/blank"
                android:gravity="center" />

            <ImageView
                android:id="@+id/picsImage"
                android:layout_width = "100dp"
                android:layout_height = "100dp"
                android:layout_gravity="center"
                android:gravity="center"
                android:background = "@drawable/picture_box"/>
        </FrameLayout>
    </LinearLayout>

    <Button
        android:id="@+id/mEditButton"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:background="@drawable/edit_pic_button" />

    <View
        android:layout_width="match_parent"
        android:layout_height="10dp" />

    <Button
        android:id="@+id/buttonUploadPic"
        android:layout_width="wrap_content"
        android:layout_height="50dp"
        android:layout_gravity="center"
        android:background="@drawable/upload_pic_button" />

</LinearLayout>
4

3 に答える 3

0

レイアウトの問題は、間違った場所で固定値を使用したことです。代わりandroid:layout_width="100dp"にボタン(これは水平レイアウト)で使用する必要がありますandroid:layout_width="fill_parent"。このレイアウトの他の兄弟とスペースを共有できるように、このボタンには
ゼロ値を設定する必要があります。layout_weight

于 2012-11-26T15:21:34.040 に答える
0

線形レイアウトの代わりに相対レイアウトを使用し、画面のさまざまなサイズにアプリを使用する場合は、40dp、50dpなどのハードコードされたディメンションを使用しないでください。

相対レイアウト

于 2012-11-26T15:07:30.417 に答える
0

固定dpを重みに変換する最も簡単な方法:

これを変える:

android:layout_width = "100dp"

これに:

android:layout_width = "0dp"

android:layout_weight = "100"

すべてのボタンに対してこれを行うと、4インチの場合とまったく同じように見え、どの画面でも完璧に拡大縮小されます。

于 2014-04-13T22:17:47.500 に答える