2011-07-26 39 views
0

我正在实现一个应用程序,允许用户通过Gallery拖动页面来阅读报纸。Gallery上的组件的前景色

我写了一个适配器,该应用程序返回带有一些Bitmap的ImageViews。

我的问题是,第一张图像显示完美,接下来的图像有一个灰色的前景,使图像看起来更暗。拖到某个地方后,第一个也会得到这个前景。我怎样才能避免我的观点得到这个前景?

现在我意识到ImageViews在alpha通道上获得了一些价值,这就是为什么与我的黑色背景一起图像看起来更暗。我怎样才能避免它?

至于征求,这里是我的代码:

Gallery view = new Gallery(context); 
    view.setSpacing(10); 
    view.setAdapter(new PageAdapter(context, pages)); 
    LayoutParams params = new LayoutParams(600, 300); 
    layout.addView(view, params); 

和页面适配器

私有类PageAdapter扩展ArrayAdapter { 私有列表页;

public PageAdapter(Context c, List<Page> pages) { 
     super(c, 0); 
     this.pages = pages; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     Page page = getItem(position); 

     ImageView image; 

     if (convertView != null) 
      image = (ImageView) convertView; 
     else 
      image = new ImageView(context); 

     image.setImageBitmap(ImageUtils.rgb(page.loadNormal())); 

     return image; 
    } 

    public int getCount() { 
     return pages.size(); 
    } 

    public Page getItem(int position) { 
     return pages.get(position); 
    } 
} 

这ImageUtils.rgb创建创建任何位图的副本到Bitmap.RGB_586,但会出现相同的行为。

+0

任何机会,图像具有像素一些不透明度(阿尔法)? –

+0

@Marcos请发布一些相关的代码。 – smith324

+0

@ smith324代码已添加。 –

回答

1

您需要在图库上指定unselectedAlpha属性。

或者通过你的Java(根据您的例子)

view.setUnselectedAlpha(1.0); 

如果您使用XML来声明画廊,加

android:unselectedAlpha="1.0" 
+0

完美,这是正确的答案,我会尽快启用奖励(20小时) –