0

我似乎有一个我似乎无法弄清楚的问题。在我的应用程序中,我有一个 800x2200 的图像(在 Photoshop 中创建)。当我在我的三星 gs2 上测试应用程序时,图像显示完美,可以毫无问题地上下滚动。在较小的屏幕尺寸上测试时效果很好,但似乎当我在 10.1 英寸的屏幕上测试它时,我只是得到一个空白屏幕但仍然可以滚动(因为我可以看到左侧的滚动条,(好像有图像,但不显示)我已将图像放在所有可绘制文件夹中,但没有运气。有没有人知道问题是什么,还是我做错了什么?谢谢

抱歉,代码可能是:

@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    requestWindowFeature(Window.FEATURE_NO_TITLE); 
    this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.sample);
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
    final SlidingDrawer slider = (SlidingDrawer) findViewById(R.id.slidingD1);
    Display d = getWindowManager().getDefaultDisplay();
    DisplayMetrics dm = new DisplayMetrics();
    d.getMetrics(dm);
    Log.d("DISPLAYINFO", "Classified density: " + dm.densityDpi + ", scaled density: " + dm.scaledDensity + ", actual densities: x: " + dm.xdpi + ", y: " + dm.ydpi);
    slider.animateOpen();

    Button next = (Button) findViewById(R.id.img1);
    .....

    next.setOnClickListener(new View.OnClickListener() {

        public void onClick(View view) {
        ((ImageView) findViewById(R.id.imageV1)).setImageResource(0);
        ((ImageView) findViewById(R.id.imageV1)).setImageResource(R.drawable.image1);
        slider.animateClose();
        } 
    });
    ......
}
}

和 xml 文件:

<RelativeLayout 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">

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

<ImageView 
    android:id="@+id/imageV1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:adjustViewBounds="true"
    android:scaleType="fitStart"/>

</RelativeLayout>
 </ScrollView>

<SlidingDrawer
    android:id="@+id/slidingD1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:content="@+id/content"
    android:handle="@+id/handle">

    <Button
        android:id="@+id/handle"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Select Sample"/>

    <RelativeLayout
        android:id="@+id/content"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="@drawable/background_image">

        <ScrollView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentLeft="true" >

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

                <Button
                    android:id="@+id/samp1"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_alignParentLeft="true"
                    android:background="@drawable/samplethumb1"
                    android:text="Sample1"
                    android:textColor="#FFFFFF"
                    android:textSize="20dp"
                    android:textStyle="bold"
                    android:typeface="serif" />
4

1 回答 1

1

检查 LogCat,它是否声明错误,例如

OpenGLRenderer:位图太大而无法上传到纹理中

任何地方?变化是,您的 10.1 平板电脑与小型设备有很大不同,因为它在 Ice Cream Sandwich 上运行这意味着默认情况下会打开硬件加速,这可能会将您的图像大小在两个维度上最大化为 2048 像素。

如果这似乎是问题所在,请尝试为您的活动关闭硬件加速。不幸的是,目前不支持为单个视图关闭它。

于 2012-11-04T11:00:48.490 回答