【问题标题】:How to blur ListView item with Blurry?如何用 Blurry 模糊 ListView 项目?
【发布时间】:2017-10-17 15:09:26
【问题描述】:

我想模糊一个 ListView 项目。我在 CustomListViewAdapter 的 getView() 中模糊(使用 Blurry 库):

@Override
    public View getView(final int position, View convertView, final ViewGroup parent) {
        final AirdropResult airdrop = getItem(position);
        boolean bWasNull = false;
        if (convertView == null) {
            convertView = LayoutInflater.from(getContext()).inflate(R.layout.result_item, parent, false);
            bWasNull = true;
        }

        final RelativeLayout airdropListRowInside = (RelativeLayout) convertView.findViewById(R.id.airdropListRowInside);

        final TextView tvName = (TextView) airdropListRowInside.findViewById(R.id.tvCoinName);
        final TextView tvDesc = (TextView) airdropListRowInside.findViewById(R.id.tvDesc);
        final TextView tvStartdate = (TextView) airdropListRowInside.findViewById(R.id.tvStartdate);

        tvName.setText(airdrop._name);
        tvDesc.setText(airdrop._shortdesc);

        if(bWasNull) {
            convertView.post(new Runnable() {
                @Override
                public void run() {
                    Blurry.with(getContext())
                            .radius(5)
                            .sampling(2)
                            .async()
                            .animate(100)
                            .onto(airdropListRowInside);
                }
            });
        }

        return convertView;
    }

似乎布局变得模糊,但随后它在顶部呈现非模糊布局(只有一种布局)。我使用了 Runnable because it is apparently needed

我假设这是因为 ListView 如何重用项目但没有足够的理解来解决它。有人可以帮忙吗?

【问题讨论】:

  • 发布完整的getView()方法
  • 已发布完整实施。

标签: android listview blur blurry


【解决方案1】:

这是因为您的bWasNull 是在getView() 中定义的。所以当getView()被再次调用时,它总是被重置为false,这次convertView不是null所以bWasNull不是真的,并且模糊没有被应用到新的convertView

getView() 之外定义bWasNull。 B.T.W 我看不到这个 bWasNull 的用途。

【讨论】:

  • 我不认为这是问题所在。如果我每次调用 getView() 时都进行模糊处理,那么它会多次模糊,我会得到类似黑色污迹的效果。
猜你喜欢
  • 2017-05-10
  • 2012-04-09
  • 1970-01-01
  • 2017-04-24
  • 2018-04-17
  • 2016-12-22
  • 2018-03-13
  • 2010-09-11
  • 1970-01-01
相关资源
最近更新 更多