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 回答