
在res->valus->styles.xml 下新建一个styles
<style name="dialog" parent="android:style/Theme.Dialog">
<!--背景颜色及和透明程度-->
<item name="android:windowBackground">@android:color/transparent</item>
<!--是否去除标题 -->
<item name="android:windowNoTitle">true</item>
<!--是否去除边框-->
<item name="android:windowFrame">@null</item>
<!--是否浮现在activity之上 -->
<item name="android:windowIsFloating">false</item>
<!--背景是否模糊-->
<item name="android:backgroundDimEnabled">false</item>
</style>
第二步:新建自定义view 类 继承Dialog,在构造方法中引用刚才写好的styles(粗体部分)
public class MyDialog extends Dialog {
public LoginRestltDialog(@NonNull Context context) {
//引用样式
super(context, R.style.dialog )
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)
//引入布局
setContentView(R.layout.dialog)
}
//定义其他需要的方法
}
第三步:创建布局
<?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="#11ffffff">
<LinearLayout
android:layout_width="260dp"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:background="@drawable/dialog_share"
android:orientation="vertical">
<TextView
android:id="@+id/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_margin="15dp"
android:gravity="center"
android:text="消息提示"
android:textColor="#38ADFF"
android:textSize="16sp" />
<TextView
android:id="@+id/message"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:text="提示消息" />
<View
android:layout_width="match_parent"
android:layout_height="1px"
android:layout_marginTop="15dp"
android:background="#E4E4E4" />
<LinearLayout
android:layout_width="match_parent"
android:layout_height="40dp"
android:orientation="horizontal">
<Button
android:id="@+id/no"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginLeft="10dp"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:singleLine="true"
android:text="No"
android:textColor="#7D7D7D"
android:textSize="16sp" />
<View
android:layout_width="1px"
android:layout_height="match_parent"
android:background="#E4E4E4" />
<Button
android:id="@+id/yes"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:background="@null"
android:gravity="center"
android:singleLine="true"
android:text="Yes"
android:textColor="#38ADFF"
android:textSize="16sp" />
</LinearLayout>
</LinearLayout>
</RelativeLayout>
第四步:定义dialog的背景框
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android">
<solid android:color="#ffffff" />
<stroke
android:width="0.8dp"
android:color="#ffffff" />
<!-- 圆角 -->
<corners android:radius="8dp" />
</shape>
最后在需要的地方调用即可
//定义一个电话对话框public void CallDialog(final Context ctx,final String msg) {
AlertDialog.Builder builder = new AlertDialog.Builder(ctx).setMessage(msg)
//builder.setTitle(Strings.getString(R.string.call_us_Button))
builder.setNegativeButton(getString(R.string.cancel),new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
return
}
})
builder.setPositiveButton(getString(R.string.ok), new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
HashMap<String, String>analytics = new HashMap<String, String>()
analytics.put("title", fb.getName())
MobclickAgent.onEvent(context, "storetel",analytics)
try {
Intent intent = new Intent()
intent.setAction(Intent.ACTION_CALL)
intent.setData(Uri.parse("tel:" + msg))
startActivity(intent)
if(!wb.isCollect(fb.getId(),WbcDb.MYORDERNAME)){
if(map1 != null){
fb.setImagethumb_too(new BitmapDrawable(map1))
}
if(wb.insertCollectOne(fb,WbcDb.MYORDERNAME)){
Toast.makeText(context, "已经添加到我的订单", 1).show()
}else{
Toast.makeText(context, "添加到我的订单失败", 1).show()
}
// startActivity(new Intent(context,CollectActivity.class))
}else{
Util.System("我的订单里边有了")
}
} catch (Exception e) {
// LogUtil.d("PostActivity", e.toString())
e.printStackTrace()
}
}
})
builder.create().show()
}
给你一个方法,你稍微修改一下,以后要用对话框就用这个末班
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)