Dialog 之高仿IOS

不得不说IOS系统的对话框确实漂亮 那么 我们就也来上一套

这里写图片描述
这里写图片描述

布局文件很简单   就是照着效果图自己贴  考虑到适配的问题  还需要自己做处理

public class DialogIos extends Dialog {

    private Context context;
    private String titleMessage;
    private String contontMessage;

    public DialogIos(Context context, String titleMessage,String contontMessage) {
        super(context,R.style.dialog_custom);
        this.context = context;
        this.titleMessage = titleMessage;
        this.contontMessage = contontMessage;
    }
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Window window = getWindow();
        window.setGravity(Gravity.CENTER);
        setContentView(R.layout.dialog_ios_layout);
        setCanceledOnTouchOutside(false);// 点击Dialog外部消失
        initView();
    }

    private void initView() {
        TextView diolog_title = (TextView) findViewById(R.id.diolog_title);
        diolog_title.setText(titleMessage);
        TextView diolog_contont = (TextView) findViewById(R.id.diolog_contont);
        diolog_contont.setText(contontMessage);
        TextView comfirm_choose = (TextView) findViewById(R.id.comfirm_choose);
        comfirm_choose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (null != onclickItemListen){
                    onclickItemListen.OnitemClick("1");
                }
            }
        });
        TextView cancle_choose = (TextView) findViewById(R.id.cancle_choose);
        cancle_choose.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                if (null != onclickItemListen){
                    onclickItemListen.OnitemClick("0");
                }
            }
        });
    }

    public interface OnclickItemListen{
        void OnitemClick(String contont);
    }
    public OnclickItemListen onclickItemListen;
    public void SetOnCLickListen(OnclickItemListen onclickItemListen){
        this.onclickItemListen = onclickItemListen;
    }
}



<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:background="@drawable/button_write_back"
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="70dp"
            android:gravity="center"
            android:orientation="vertical">

            <TextView
                android:id="@+id/diolog_title"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:layout_marginBottom="5dp"
                android:gravity="center"
                android:text="提示"
                android:textColor="@color/black"
                android:textSize="16dp" />

            <TextView
                android:id="@+id/diolog_contont"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="是否删除该地址"
                android:textColor="@color/black"
                android:textSize="14dp" />
        </LinearLayout>

        <View
            android:layout_width="match_parent"
            android:layout_height="1px"
            android:background="@color/line_eee" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="40dp">

            <TextView
                android:id="@+id/cancle_choose"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text="取消"
                android:textColor="#00f"
                android:textSize="15dp" />

            <View
                android:layout_width="1px"
                android:layout_height="match_parent"
                android:background="@color/line_eee" />

            <TextView
                android:id="@+id/comfirm_choose"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_weight="1"
                android:gravity="center"
                android:text="确定"
                android:textColor="@color/red_color"
                android:textSize="15dp" />
        </LinearLayout>
    </LinearLayout>
</LinearLayout>



    <!-- dialog样式 -->
    <style name="dialog_custom" parent="@android:style/Theme.Dialog">
        <item name="android:windowIsFloating">true</item>    <!--是否浮在界面上-->
        <item name="android:windowIsTranslucent">true</item> <!--是否半透明-->
        <item name="android:windowNoTitle">true</item>       <!--是否有标题-->
        <item name="android:windowBackground">@android:color/transparent</item> <!--窗口背景色透明-->
        <item name="android:backgroundDimEnabled">true</item> <!--背景是否模糊显示-->
    </style>

具体用法

 DialogIos dialogIos = new DialogIos(AddHbuyDynamicsActivity.this,"信息未完善","完善用户名、手机号、邮箱、头像、地区\n生日等才可以发帖哦~");
                                        dialogIos.SetOnCLickListen(new DialogIos.OnclickItemListen() {
                                            @Override
                                            public void OnitemClick(String contont) {
                                                if ("1".equals(contont)){
                                                    startActivity(new Intent(AddHbuyDynamicsActivity.this, HbuyUserDetailActivity.class));
                                                    dialogIos.cancel();
                                                }else {
                                                    dialogIos.cancel();
                                                }
                                            }
                                        });
                                        dialogIos.show();

写的很仓促 稍后会将他做一个完善 网上也有一个仿IOS的 SuperDialog 大家可以去看一下

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
如果您需要在 iOS 应用中弹出一个对话框并且要遮盖底部的 tabbar,可以使用 UIAlertController 来实现。UIAlertController 是一个系统自带的对话框控件,可以方便地弹出一个对话框,并且可以自定义对话框的样式和行为。 下面是一个简单的示例代码,展示如何使用 UIAlertController 弹出一个对话框并且遮盖底部的 tabbar: ``` UIAlertController* alert = [UIAlertController alertControllerWithTitle:@"Title" message:@"Message" preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction* defaultAction = [UIAlertAction actionWithTitle:@"OK" style:UIAlertActionStyleDefault handler:^(UIAlertAction * action) { // 点击 OK 按钮后的操作 }]; [alert addAction:defaultAction]; [self presentViewController:alert animated:YES completion:nil]; ``` 在上面的代码中,我们创建了一个 UIAlertController 对象,并且设置了对话框的标题和内容。然后,我们添加了一个 UIAlertAction 对象,用于响应用户点击 OK 按钮后的操作。最后,我们调用 presentViewController 方法来展示对话框。 在展示对话框的时候,我们将 animated 参数设置为 YES,这样可以让对话框以动画的形式呈现出来。另外,我们也没有设置对话框的位置,因为系统会自动将对话框显示在屏幕中心。 需要注意的是,UIAlertController 只在 iOS 8 及以上的系统中可用,如果您的应用需要兼容 iOS 7 及以下的系统,可以考虑使用其他第三方的对话框控件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值