这是我的应用程序...在此我希望当我点击任何一个cardview时,背景应该模糊,另一个应该出现在模糊外观上的选定一个上,当用户点击任何一个按钮时,用户获得新的活动。我正在使用此library
帮助我开始吧。谢谢
答案 0 :(得分:2)
正如我从你的问题中可以理解的那样,你在listView里面有recyclelerViews,并且在recycleler视图项目点击你希望实现像this library那样将你的行项目布局改为这样的东西,记得将它包裹在BlurLayout中,如下面的< / p>
<com.daimajia.androidviewhover.BlurLayout
android:id="@+id/blurBg"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
//copy here your recycler view row layout
</com.daimajia.androidviewhover.BlurLayout>
创建一个将出现在模糊背景上的布局,让我们说叠加 如下所示
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
//you can place your buttons here or any layout which you want
<Button
android:id="@+id/btnOk"
android:layout_centerInParent="true"
android:layout_width="40dp"
android:layout_height="wrap_content"
android:text="ok" />
</RelativeLayout>
现在在您的视图持有者的回收者视图中绑定此视图
public class yourViewHolder extends RecyclerView.ViewHolder {
public TextView title;
BlurLayout blurLayout;
View hover;
public yourViewHolder(View view) {
super(view);
title = (TextView) view.findViewById(R.id.title);
blurLayout = (BlurLayout)findViewById(R.id.blurBg);
hover = LayoutInflater.from(mContext).inflate(R.layout.overlay, null);
blurLayout.setHoverView(hover);
}
hover.findViewById(R.id.btnOk).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//do what you want
});
}
如果我理解错误或者您需要别的东西,请告诉我
答案 1 :(得分:1)
如果您希望该视图显示在个别项目上,则应使用Popup view。使用它可以根据锚视图调整其位置,并可以根据需要进行自定义。这可以提供帮助:
在onBindViewHolder()中使用它。
holder.buttonViewOption.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
//creating a popup menu
PopupMenu popup = new PopupMenu(mCtx, holder.buttonViewOption);
//displaying the popup
popup.show();
}
});
您可以根据回收商视图项目指定其位置。
答案 2 :(得分:1)
您可以在运行时使用alpha属性来模糊图像
@Override
public void onBindViewHolder(final MyViewHolder holder, int position) {
holder.thumbnail.setAlpha(0.5f);
holder.thumbnail.setOnClickListener((new View.OnClickListener() {
@Override
public void onClick(View v) {
holder.thumbnail.setAlpha(0.5f);
}
});
}
答案 3 :(得分:0)
您可以使用具有自定义布局的AlertDailog来实现相同目的。
可以找到使用和指导here