gpt4 book ai didi

android - 如何使图库项目的背景颜色透明并更改边框样式和大小?

转载 作者:行者123 更新时间:2023-11-29 22:20:05 24 4
gpt4 key购买 nike

这就是我想要的


就是出现“我要修改”的样子


1 - 如何将图库中项目的背景更改为透明?2 - 如何删除画廊中每个项目周围的边框?3 - 如何以正常尺寸显示它们“不被拉伸(stretch)”?


这里是使用的代码.java

public class Search extends Activity {
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.options);
Gallery gallery = (Gallery) findViewById(R.id.gallery1);
gallery.setAdapter(new ImageAdapter(this));

gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView parent, View v, int position, long id) {
Toast.makeText(Search.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
}
public class ImageAdapter extends BaseAdapter {
int mGalleryItemBackground;
private Context mContext;

private Integer[] mImageIds = {
R.drawable.animals,
R.drawable.automotive,
R.drawable.directory,
R.drawable.homeoffice,
R.drawable.hobbies,
R.drawable.mother,
R.drawable.jobs,
R.drawable.realestate,
R.drawable.technology
};

public ImageAdapter(Context c) {
mContext = c;
TypedArray attr = mContext.obtainStyledAttributes(R.styleable.HelloGallery);
mGalleryItemBackground = attr.getResourceId(
R.styleable.HelloGallery_android_galleryItemBackground,17170445 );
attr.recycle();
}

public int getCount() {
return mImageIds.length;
}

public Object getItem(int position) {
return position;
}

public long getItemId(int position) {
return position;
}

public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);

imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
imageView.setBackgroundResource(mGalleryItemBackground);

return imageView;
}
}
}

最佳答案

您必须调整作为图库项目创建的 ImageView 的参数。在这种情况下,您必须更改 getView() 函数的内容。

  1. 设置合适的背景。试试 imageView.setBackgroundColor(Color.TRANSPARENT)。它将背景设置为透明并移除项目周围的边框(边框由背景描述)。

  2. 在 1 中解决。

  3. 您可以通过更改 imageView.setScaleType() 函数中的比例类型来影响(或不)拉伸(stretch)图像的方式(有关更多信息,请参阅 ImageView.ScaleType 的文档细节)。试试 imageView.setScaleType(ImageView.ScaleType.FIT_CENTER)。您还可以设置“更好”的布局参数(尝试 imageView.setLayoutParams(new Gallery.LayoutParams(Gallery.LayoutParams.WRAP_CONTENT, Gallery.LayoutParams.WRAP_CONTENT)))。

总而言之,getView() 函数应该是这样的:

public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);

imageView.setImageResource(mImageIds[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(150, 100));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setBackgroundColor(Color.TRANSPARENT);

return imageView;
}

关于android - 如何使图库项目的背景颜色透明并更改边框样式和大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7461388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com