我按照教程创建了一个简单的图库 一切正常,但我无法改变边框/背景颜色 也许一个小图片有助于理解我的问题。 desired colorchanges
我得到一个带有深灰色背景的缩放图像。这些矩形以浅灰色为边界,我想改变它。
我试过了:
EXPECT_CALL(myMock, myCoolMethod(Matcher<const char *>(_))).WillRepeatedly(Return(0));
EXPECT_CALL(myMock, myCoolMethod(TypedEq<const char *>("foo"))).WillOnce(Return(1));
但这不起作用,因为深灰色部分也涂成了蓝色。 有什么想法吗?
编辑:添加一些代码段和错误的结果
使用 setBackgroundColor 将导致此result
我的画廊创作:
public View getView(int position, View convertView, ViewGroup parent) {
ImageView imageView = new ImageView(mContext);
imageView.setImageBitmap(imageBitmaps[position]);
imageView.setLayoutParams(new Gallery.LayoutParams(300, 200));
imageView.setScaleType(ImageView.ScaleType.FIT_CENTER);
imageView.setBackgroundResource(imageBackground);
**imageView.setBackgroundColor(Color.BLUE);**
...
但是什么时候
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mGallery = (Gallery)findViewById(R.id.imgGallery);
mAdapter = new ImageAdapter(this);
mGallery.setAdapter(mAdapter);
被调用 convertView 为空。
答案 0 :(得分:0)
尝试这样的事情(虽然我没有测试过):
switch (position) {
case 1:
imageView.setBackgroundColor(convertView.getContext().getResources().getColor(R.color.blue));
break;
case 2:
break;
//... and so on
}
你可以试试这个imageView.setBackgroundColor(new ColorDrawable(Color.BLUE));
如果这对您没有帮助,请告诉我!
修改强>
试试这个并告诉我是否有任何变化:
imageView.setBackgroundColor(Color.parseColor("#FF0000"));
另一种选择是,不是以编程方式实例化ImageView
,而是使用内部ImageView
构建自己的xml,然后再执行LayoutInflater.from(mContext).inflate(R.layout.your_image_view, parent, false);