【问题标题】:Is it possible to apply grayscale to a View?是否可以将灰度应用于视图?
【发布时间】:2012-11-27 22:13:21
【问题描述】:

我知道可以将灰度滤镜应用于位图,我想知道是否可以将其应用于视图。这样做的目的是将适配器的getView() 中的GridView 元素变灰

【问题讨论】:

  • 视图变灰时发生了什么?如果没有,有没有办法可以从视图的内容创建位图,然后添加灰度过滤器并将位图放在 GridView 本身上以呈现灰色视图的外观?

标签: android view grayscale


【解决方案1】:

您可以将其应用到位图并设置为gridview的背景

public View getView(int position, View convertView, ViewGroup parent) {
        View vi = convertView;
        ViewHolder holder;

            if (convertView == null) {
                vi = inflater.inflate(R.layout.adaptercategories, null);
                holder = new ViewHolder();              
                holder.txtCategoryName = (TextView) vi.findViewById(R.id.txtCategoryName);
                vi.setTag(holder);

                            // set the bitmap here for vi's background 

            } else {
                holder = (ViewHolder) vi.getTag();
            }

        return vi;
    }

【讨论】:

  • 重点是让整个视图变灰而不仅仅是背景
  • 所以在getview()中设置视图背景
  • 那么convertView 中的所有其他组件呢?我试图找到一种方法来应用灰度过滤到 convertView
【解决方案2】:

尝试创建一个具有透明度的 ImageView 并将其定位以覆盖活动。

您可以将其可见性设置为消失,然后在需要时显示和定位它。

【讨论】:

    猜你喜欢
    • 2018-02-06
    • 2015-02-02
    • 2011-01-25
    • 2015-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多