0

解像度が 480x800、密度が 1.5 のエミュレータがあります。したがって、ビューに 320x50 の解像度で広告 (admob、madvertise) を表示すると、480 x 75 にスケーリングされます。

レイアウトは次のようになります。広告ビューはコードで LinearLayout (id adsholder) に追加されます。

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <com.sbcgames.sbcengine.SBCGLView
        android:id="@+id/sbcglview"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <LinearLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/adsholder"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:orientation="vertical" >
    </LinearLayout>
</FrameLayout>

スケーリングを防ぐ方法はありますか?idp の代わりに元のピクセル寸法を維持したいと思います。これをマニフェストに追加しようとしましたが、役に立ちませんでした:

 <supports-screens android:anyDensity="true" />

手伝ってくれてありがとう

4

1 に答える 1

1

実際のピクセル ( ) でビュー (レイアウト/画像など) のサイズを適用する必要がありますpx。そう:

<LinearLayout
    android:id="@+id/adsholder"
    android:layout_width="200px"
    android:layout_height="200px"
    android:layout_gravity="center_horizontal"
    android:orientation="vertical" >
</LinearLayout>

画面密度に関係なく、常に 200x200ピクセルになります。利用可能なユニットのドキュメントを参照してください。

于 2012-10-24T17:36:34.000 に答える