我为小屏幕(2.7英寸)制作了一个带有gridview的布局。我的图标是48 x 48像素。现在我想在平板电脑上使用gridview,所以我创建了一个新的布局,并将设置更改为大和横向。我想为平板电脑使用更大的图标:72 x 72像素。问题是较大的图标没有显示,但小图标显示。我的小图标位于文件夹drawable-mdpi中,大图标位于文件夹drawable-hdpi中。我已经尝试将大图标移动到drawable-xhdpi文件夹但没有成功。我也试图改变imageadapter的scaletype和layoutparams但也没有任何成功有人可以帮助我在平板电脑上获得更大的图标吗?
这是我的大型布局代码:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/back" >
<GridView
android:id="@+id/Menu"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/imageView1"
android:columnWidth="80dp"
android:gravity="center_horizontal|top"
android:horizontalSpacing="130dp"
android:numColumns="auto_fit"
android:paddingTop="10dp"
android:scrollbars="none"
android:stretchMode="columnWidth"
android:verticalSpacing="50dp" android:layout_marginTop="50dip">
</GridView>
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@drawable/title" />
</RelativeLayout>
gridview的my imageadapter的java代码是:
public class ImageAdapter extends BaseAdapter
{
private Context context;
public ImageAdapter(Context c)
{
context = c;
}
//---returns the number of images---
public int getCount() {
return menu_icon.length;
}
//---returns the ID of an item---
public Object getItem(int position) {
return null;
}
public long getItemId(int position) {
return 0;
}
//---returns an ImageView view---
public View getView(int position, View convertView, ViewGroup parent)
{
ImageView imageView;
if (convertView == null) {
imageView = new ImageView(context);
imageView.setLayoutParams(new GridView.LayoutParams(150, 150)); imageView.setScaleType(ImageView.ScaleType.CENTER);
imageView.setPadding(5, 5, 5, 5);
} else {
imageView = (ImageView) convertView;
}
imageView.setImageResource(menu_icon[position]);
return imageView;
}
}
答案 0 :(得分:0)
试试这个,
imageView.setLayoutParams(new LinearLayout.LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
这可能有效。
答案 1 :(得分:0)
这可能会解决您的问题:
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
http://developer.android.com/reference/android/widget/ImageView.ScaleType.html