如何更改android库的边框/背景颜色

时间:2015-10-27 19:12:43

标签: android gallery setbackground

我按照教程创建了一个简单的图库 一切正常,但我无法改变边框/背景颜色 也许一个小图片有助于理解我的问题。 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 为空。

1 个答案:

答案 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);