我正在使用此庫來模糊視圖(https://github.com/Dimezis/BlurView/blob/master/app/src/main/res/values/colors.xml)。(android)我如何讓每個列表項目模糊?
該庫具有custsom視圖和'BlurView',即使背景圖像發生變化,它也會動態模糊所有底層視圖。它工作得很好。
我想爲我的RecyclerView實現它,以便每個項目的背景可以模糊活動的背景。 但結果如下:
我覺得這個庫拍了一個應用程序屏幕快照並模糊它。您可以看到工具欄完全模糊。 我希望這種模糊效果是動態的,以便它可以在用戶上下滾動時模糊背景實時。它作爲單個視圖運行良好,但不能作爲列表項目。
這是我的代碼。
MainActivity.java
ListView listView = (ListView) findViewById(R.id.listview);
PlanListAdapter adapter = new PlanListAdapter(this, getWindow().getDecorView(),new String[]{"Cookie", "Pie", "Banana split", "Peanut butter"});
listView.setAdapter(adapter);
PlanListAdapter.java
public class PlanListAdapter extends ArrayAdapter {
private String[] titles;
private Context context;
private View decorView;
public PlanListAdapter(Context context, View decorView, String[] names) {
super(context, -1);
this.context = context;
this.titles = names;
this.decorView = decorView;
}
@NonNull
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View rootView = parent.getRootView();
View itemView = LayoutInflater.from(context).inflate(R.layout.layout_planitem, null, false);
BlurView blurView = (BlurView) itemView.findViewById(R.id.blur_item);
blurView.setupWith(rootView)
.windowBackground(decorView.getBackground())
.blurAlgorithm(new RenderScriptBlur(context, true))
.blurRadius(24f);
return itemView;
}
@Override
public int getCount() {
return titles.length;
}
}
已更新回答,現在問題已解決 – Dimezis