Android - 根据设备分辨率调整图库中的图像大小
我有一个 Android 应用程序,可以从网络上获取图像。 但是,当我设置:
<supports-screens android:anyDensity="true" />
图库似乎被设置为支持的最低分辨率。
这是画廊布局定义:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout android:id="@+id/GalleryLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="#000000"
>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:spacing="1dip"
android:gravity="center_vertical|center_horizontal|center"
/>
</LinearLayout>
和 getView 类:
ImageView i = new ImageView(mContext);
i.setImageDrawable(drawablesFromUrl[position]);
i.setLayoutParams(new Gallery.LayoutParams(400, 300));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
有没有办法检测使用的分辨率,然后调整画廊中图像的大小,以便它们拉伸到屏幕的宽度?
I have an Android app that pulls in images from the Web.
However when I set:
<supports-screens android:anyDensity="true" />
the gallery appears to be set to the minimum supported resolution.
Here is the gallery layout definition:
<?xml version="1.0" encoding="utf-8" ?>
<LinearLayout android:id="@+id/GalleryLayout"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:background="#000000"
>
<Gallery xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/gallery"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:spacing="1dip"
android:gravity="center_vertical|center_horizontal|center"
/>
</LinearLayout>
and the getView class:
ImageView i = new ImageView(mContext);
i.setImageDrawable(drawablesFromUrl[position]);
i.setLayoutParams(new Gallery.LayoutParams(400, 300));
i.setScaleType(ImageView.ScaleType.FIT_XY);
i.setBackgroundResource(mGalleryItemBackground);
Is there a way to detect the resolution used and then resize the images in the gallery so they stretch to the width of the screen?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
也尝试
一下,您不应该使用硬编码像素值(在 i.setLayoutParams(new Gallery.LayoutParams(400, 300)); 中)
使用
和 在某些 xml 文件中(在 res/values 下)
try
also, you shoudn't use hardcoded pixel values (in
i.setLayoutParams(new Gallery.LayoutParams(400, 300));
)use
and in some xml file (under res/values)