自定义dialog二三事
来源:互联网 发布:在美国如何使用淘宝 编辑:程序博客网 时间:2024/05/16 17:04
效果图:
代码:
public class ViewActivity extends Activity implements View.OnClickListener { Dialog mDialog; @Override protected void onCreate(Bundle savedInstanceState) { requestWindowFeature(Window.FEATURE_NO_TITLE); super.onCreate(savedInstanceState); setContentView(R.layout.activity_view); initDialog(this); } @Override public void onClick(View v) { mDialog.show(); } public void initDialog(Context context) { View view = LayoutInflater.from(context).inflate(R.layout.view_share, null); mDialog = new Dialog(context, R.style.Translucent_Dialog); mDialog.setContentView(view); ImageView iv_cancel = (ImageView) view.findViewById(R.id.iv_cancel); iv_cancel.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { mDialog.dismiss(); } }); }}
透明背景的样式:
<style name="Translucent_Dialog" parent="@android:style/Theme.Dialog"> <!-- 设置自定义布局的背景透明 --> <item name="android:background">@android:color/transparent</item> <!-- 设置window背景透明,也就是去边框 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 设置Activity背景是否变灰 --> <item name="android:backgroundDimEnabled">false</item> </style>
dialog布局:
<?xml version="1.0" encoding="utf-8"?><!-- 注意:父控件里没有使用gravity属性 --><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/rl_share" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="180dp" android:layout_marginLeft="10dp" android:layout_marginRight="25dp" android:layout_marginTop="15dp" android:background="@drawable/view_dialog_bg" android:gravity="center"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="pengkv" android:textColor="#000" android:textSize="20dp" /> </LinearLayout> <ImageView android:id="@+id/iv_cancel" android:layout_width="40dp" android:layout_height="40dp" android:layout_alignParentRight="true" android:layout_marginRight="10dp" android:src="@drawable/ic_cancel" /></RelativeLayout>
更改backgroundDimEnabled可以去掉灰色背景,效果如图:
tip:
//想要有这种透明效果的对话框时,不用使用AlertDialog.Builder创建dialog,否则效果会异常
0 0
- 自定义dialog二三事
- 自定义Dialog---继承Dialog
- 自定义Dialog android Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义dialog
- 自定义 Dialog
- 自定义dialog
- 自定义 dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义dialog
- 自定义Dialog
- 自定义 Dialog
- 自定义Dialog
- 自定义Dialog
- 自定义Dialog
- 【闲】用PPT制作弹幕效果
- JMeter特殊情况二:针对某些请求数据每次请求都是变化的情况
- 关于C语言字符串处理之可变字符串
- nc工具使用
- SLICK+SQLITE+SCALA
- 自定义dialog二三事
- onCreate中获取控件宽高等于0的解决办法
- undefined reference问题总结
- Java开源电商项目比较
- 使用xcode git pull成功一些文件没有下载下来的原因
- linux常用命令—— 磁盘管理(十二)
- mysql查看索引
- 关键字volatile的作用和三个不同的应用场合
- addSubview和 insertSubView 区别