-
Android自定义Dialog,实际的项目开发中默认的Dialog样式可能满足不了需求,这就需要自行定义Dialog
上图先
- 自定义的Dialog类CustomDialog.java
package com.learn.ui.util; import android.app.Dialog; import android.content.Context; import android.os.Bundle; /** * <p>Title: CustomDialog</p> * <p>Description:自定义Dialog(参数传入Dialog样式文件,Dialog布局文件) </p> * <p>Copyright: Copyright (c) 2013</p> * @author archie * @version 1.0 */ public class CustomDialog extends Dialog { int layoutRes;//布局文件 Context context; public CustomDialog(Context context) { super(context); this.context = context; } /** * 自定义布局的构造方法 * @param context * @param resLayout */ public CustomDialog(Context context,int resLayout){ super(context); this.context = context; this.layoutRes=resLayout; } /** * 自定义主题及布局的构造方法 * @param context * @param theme * @param resLayout */ public CustomDialog(Context context, int theme,int resLayout){ super(context, theme); this.context = context; this.layoutRes=resLayout; } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); this.setContentView(layoutRes); } }
- 随便写个onClick事件调用一下
public void onClick(View v) { switch (v.getId()) { case R.id.customDialogBtn: CustomDialog dialog=new CustomDialog(this, R.style.customDialog, R.layout.customdialog); dialog.show(); default: break; } }
- theme样式文件style.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <style name="customDialog" parent="@android:Theme.Dialog"> <item name="android:windowFrame">@null</item> <item name="android:windowNoTitle">true</item> <item name="android:windowIsFloating">true</item> <item name="android:windowContentOverlay">@null</item> </style> </resources>
- 自定义布局文件customdialog.xml
<?xml version="1.0" encoding="utf-8"?> <ScrollView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="280dip" android:layout_height="wrap_content" android:layout_gravity="center" android:background="#EEEEEE" > <LinearLayout android:id="@+id/layout" android:layout_width="280dip" android:layout_height="fill_parent" android:layout_gravity="center" android:background="#EEEEEE" android:orientation="vertical" android:scrollbars="vertical" > <TextView android:layout_width="fill_parent" android:layout_height="45dip" android:layout_gravity="center_vertical" android:background="#880000" android:gravity="center_vertical" android:paddingLeft="10dp" android:text="自定义Dialog标题" android:textColor="#FFFFFF" android:textSize="20dip" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="36dip" android:background="#EEEEEE" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="10dip" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="资源1:" android:textColor="@android:color/black" android:textSize="16dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="锤子" android:textColor="@android:color/black" android:textSize="16dip" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dip" android:background="#C0C0C0" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="36dip" android:background="#EEEEEE" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="10dip" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="资源2:" android:textColor="@android:color/black" android:textSize="16dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="毛线" android:textColor="@android:color/black" android:textSize="16dip" /> </LinearLayout> <TextView android:layout_width="fill_parent" android:layout_height="1dip" android:background="#C0C0C0" /> <LinearLayout android:layout_width="fill_parent" android:layout_height="36dip" android:background="#EEEEEE" android:gravity="center_vertical" android:orientation="horizontal" android:paddingLeft="10dip" > <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="资源3:" android:textColor="@android:color/black" android:textSize="16dip" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="球" android:textColor="@android:color/black" android:textSize="16dip" /> </LinearLayout> </LinearLayout> </ScrollView>
over!