1,直接上代码
package nfc.com.mytelephone.dialog.custom;
import android.app.Activity;
import android.app.Dialog;
import android.os.Bundle;
import android.view.View;
import android.view.WindowManager;
import nfc.com.mytelephone.R;
/**
* 分享页面
*/
public class ShareDialog extends Dialog implements View.OnClickListener{
private Activity mContext;
private OnItemClickListener mListener;
public ShareDialog(Activity context) {
super(context);
this.mContext = context;
}
public ShareDialog(Activity context, int themeResId) {
super(context, themeResId);
this.mContext = context;
}
public ShareDialog(Activity context, int themeResId, OnItemClickListener mListener) {
super(context, themeResId);
this.mContext = context;
this.mListener = mListener;
}
protected ShareDialog(Activity context, boolean cancelable, OnCancelListener cancelListener) {
super(context, cancelable, cancelListener);
this.mContext = context;
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.dialog_share);
setCanceledOnTouchOutside(false);
initView();
getWindow().setWindowAnimations(R.style.dialogWindowAnim); //设置窗口弹出动画
//全屏处理
WindowManager.LayoutParams lp = getWindow().getAttributes();
WindowManager wm = mContext.getWindowManager();
lp.width = wm.getDefaultDisplay().getWidth(); //设置宽度
getWindow().setAttributes(lp);
}
private void initView(){
findViewById(R.id.lay_cancel).setOnClickListener(this);
findViewById(R.id.target1).setOnClickListener(this);
findViewById(R.id.target2).setOnClickListener(this);
findViewById(R.id.target3).setOnClickListener(this);
findViewById(R.id.target4).setOnClickListener(this);
}
@Override
public void onClick(View v) {
switch (v.getId()){
case R.id.lay_cancel:
dismiss();
break;
case R.id.target1:
if(mListener != null){
mListener.onClick(this, 1);
}
break;
case R.id.target2:
if(mListener != null){
mListener.onClick(this, 2);
}
break;
case R.id.target3:
if(mListener != null){
mListener.onClick(this, 3);
}
break;
case R.id.target4:
if(mListener != null){
mListener.onClick(this, 4);
}
break;
}
}
public interface OnItemClickListener{
void onClick(Dialog dialog, int position);
}
}
2 ,使用方法
new ShareDialog(AllDialogActivity.this, R.style.dialog, new ShareDialog.OnItemClickListener() { @Override public void onClick(Dialog dialog, int position) { dialog.dismiss(); switch (position){ case 1: Utils.toast(AllDialogActivity.this,"微信好友"); break; case 2: Utils.toast(AllDialogActivity.this,"朋友圈"); break; case 3: Utils.toast(AllDialogActivity.this,"QQ"); break; case 4: Utils.toast(AllDialogActivity.this,"微博"); break; } } }).show();
3,关于配置文件
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:color/transparent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:paddingTop="22dp"
android:background="@color/white"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="14dp"
android:orientation="horizontal">
<TextView
android:id="@+id/target1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:drawablePadding="10dp"
android:drawableTop="@mipmap/icon_wx"
android:text="微信好友" />
<TextView
android:id="@+id/target2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:drawablePadding="10dp"
android:drawableTop="@mipmap/icon_pyq"
android:text="朋友圈"/>
<TextView
android:id="@+id/target3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:drawablePadding="10dp"
android:drawableTop="@mipmap/icon_qq"
android:text="QQ"/>
<TextView
android:id="@+id/target4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:gravity="center"
android:drawablePadding="10dp"
android:drawableTop="@mipmap/icon_wb"
android:text="微博"/>
</LinearLayout>
<View
android:layout_width="match_parent"
android:layout_height="1dp"
android:background="@color/commom_background"/>
<LinearLayout
android:id="@+id/lay_cancel"
android:layout_width="match_parent"
android:layout_height="54dp"
android:orientation="horizontal"
android:layout_alignParentBottom="true">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg_dialog_right_white"
android:gravity="center"
android:text="取消"
android:textSize="12sp"
android:textColor="@color/font_blue"/>
</LinearLayout>
</LinearLayout>
</RelativeLayout>
4,这里的配置文件很值得借鉴,因为它使用了一个textview,完成了整个的配置,即图片下面有文字