0

わかりました。問題: 背景画像に組み込まれている「ボックス」内にビューを表示する必要があるレイアウトがあります。だから..正確なレイアウトは必須です。レイアウトをアップしたところ、エミュレーターと Samsung Galaxy S では見栄えがよくなりましたが、Droid X に配置すると、ビューが上に移動します。問題は、両方の電話が HDPI のミディアム スクリーンと見なされることです。明らかに、別のレイアウト フォルダーを使用して修正することはできません。マニフェストで "anyDensity" を false に設定しています。minSDK 3 のトリックを試しました。私のリソースは drawable-hdpi フォルダーからプルしていますが、違いはありません。私が想像できる唯一のことは、私が与えている特定のマージン値です(DIPでも)。しかし、これなしで特定の場所にビューがあるレイアウトを実現する方法がわかりません。何か助けてください?? コモンズウェアは、これでどこにいますか。みんなありがとう。

編集: 考えれば考えるほど、自分の考えが間違っていたことに気づきます。(Android のレイアウトをコーディングしてからしばらく経ちました) DIP は本来あるべきことを正確に行っています。サイズは、私が配置したすべての画面でまったく同じですが、私が達成したいのは、画面サイズに合わせてビューを拡大することです。したがって、画面が大きい場合、余白と間隔は画面とともに大きくなります。基本的に、レイアウト全体に fill_parent が必要ですが、正確なレイアウトでは使用できません。何か案は?

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

    <TextView
        android:layout_height="wrap_content"
        android:layout_width="150dp"
        android:layout_marginTop="20dip"
        android:layout_marginRight="10dip"
        android:layout_gravity="right"
        android:gravity="center_horizontal"
        android:text="Text Here"
        android:textSize="15dip"
        android:textColor="#253B85" />

    <TextView
        android:id="@+id/code"
        android:layout_height="wrap_content"
        android:layout_width="150dp"
        android:layout_marginTop="10dip"
        android:layout_marginRight="10dip"
        android:layout_gravity="right"
        android:gravity="center_horizontal"
        android:text="5D6"
        android:textSize="9dip"
        android:textColor="#000000" />

    <RelativeLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >

        <ImageView
            android:id="@+id/icon"
            android:layout_width="90dip"
            android:layout_height="90dip"
            android:layout_marginLeft="20dip"
            android:layout_marginTop="10dip"/>

        <TextView
            android:id="@+id/name"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_marginTop="19dip"
            android:layout_marginRight="20dip"
            android:layout_toRightOf="@id/icon"
            android:layout_alignParentRight="true"
            android:gravity="right"
            android:text="Really Long Name"
            android:textSize="17dip"
            android:textColor="#253B85" />

        <TextView
            android:id="@+id/importantInfo"
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:layout_marginTop="5dip"
            android:layout_marginRight="20dip"
            android:layout_below="@id/name"
            android:layout_alignParentRight="true"
            android:gravity="right"
            android:text="50% off"
            android:textSize="30dip"
            android:textStyle="bold"
            android:textColor="#253B85" />

        <TextView
            android:id="@+id/dateLabel"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="20dip"
            android:layout_marginTop="22dip"
            android:layout_below="@id/icon"
            android:text="date: "
            android:textColor="#253B85" />

        <TextView
            android:id="@+id/dateText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="22dip"
            android:layout_below="@id/icon"
            android:layout_toRightOf="@id/dateLabel"
            android:text=" "
            android:textColor="#253B85" />

        <TextView
            android:id="@+id/moreInfo"
            android:layout_width="fill_parent"
            android:layout_height="33dip"
            android:layout_marginLeft="22dip"
            android:layout_marginTop="3dip"
            android:layout_marginRight="24dip"
            android:layout_below="@id/dateLabel"
            android:gravity="center"
            android:maxLines="2"
            android:textSize="10dip"
            android:text=" "
            android:textColor="#253B85" />

        <ImageView
            android:id="@+id/qrIcon"
            android:layout_width="fill_parent"
            android:layout_height="106dip"
            android:layout_marginLeft="22dip"
            android:layout_marginTop="11dip"
            android:layout_marginRight="24dip"
            android:layout_below="@id/moreInfo" />

    </RelativeLayout>

    <Button
        android:id="@+id/submitButton"
        android:layout_width="160dip"
        android:layout_height="40dip"
        android:layout_marginTop="14dip"
        android:layout_gravity="center_horizontal"
        android:onClick="buttonRedeemOnClickListener"
        android:background="@drawable/button_background"
        android:text="Redeemed Coupon"
        android:textColor="#FFFFFF" />

</LinearLayout>
4

2 に答える 2

1

マニフェスト ファイルに追加:::

<supports-screens android:smallScreens="true" android:resizeable="true" android:normalScreens="true" android:largeScreens="true" android:anyDensity="true"></supports-screens>
于 2011-09-16T15:20:01.917 に答える
0

現在のコードに基づいて、さまざまなサイズのさまざまなレイアウトをコーディングしようとしたとは思いません。コーディングするサイズによっては時間がかかりますが、手間をかける価値は十分にあります。私が見ることができる唯一の問題は、すべての画面解像度に対してレイアウトを作成するかどうかです。これは面倒なことではありません。

于 2013-09-26T03:36:07.090 に答える