自定义dialog样式

最近一直在赶项目很久没有来写文字了,项目中的一个视频播放做了足足一周多,还没有完全弄明白,好在功能已经实现可以播放了,今天就用先不做视频的总结。项目中很多判断都弹出了对话框,传统的对话框样式太丑,入不了我们UI的眼,满足不了需求,所以用到了自定义dialog,今天来总结dialog。
首先在网上搜了一下,网上有很多很多资料,但是大多数都写的很复杂,自己综合一下各家所长,做了一个最简单的demo
代码如下:


import android.app.Dialog;
import android.content.Context;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;

/**
 * Created by JLL on 2016/10/26.
 */

public class MyDialog extends Dialog {
    private static View view;
    private TextView tv_finish ,mMessage ;
    Context mContext;

    public MyDialog (Context context){
        super(context);
        mContext = context;
    }
    public MyDialog(Context context, int theme) {
        super(context, theme);
        mContext = context;
    }

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        LayoutInflater inflater = (LayoutInflater) mContext
                .getSystemService(Context.LAYOUT_INFLATER_SERVICE);
        view = inflater.inflate(R.layout.custom_dialog, null);
        this.setContentView(view);
        tv_finish = (TextView) findViewById(R.id.tv_finish);

        mMessage = (TextView) findViewById(R.id.tv_message1);

        mMessage.setText("该功能暂未对个人用户开放" + "\n" + "敬请期待!");

    }

}

//自定义dialog布局文件



//MainActivity中只有一个简单的按钮,点击按钮弹出对话框

“`

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Gravity;
import android.view.View;
import android.view.Window;
import android.view.WindowManager;
import android.widget.Button;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {
private Button button;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    button = (Button)findViewById(R.id.button);
    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            final MyDialog dialog = new  MyDialog(MainActivity.this,R.style.dialog);

// TextView message = (TextView) dialog.findViewById(R.id.tv_message1);
//
// message.setText(“caaaaaa”);
dialog.show();

            View cancle = dialog.findViewById(R.id.tv_finish);
            TextView message = (TextView) dialog.findViewById(R.id.tv_message1);
            message.setText("23456");

//
cancle.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dialog.dismiss();
}
});
//
Window window = dialog.getWindow();
WindowManager.LayoutParams lp = window.getAttributes();
lp.gravity = Gravity.CENTER;
lp.width =200;//宽高可设置具体大小
lp.height = 100;
dialog.getWindow().setAttributes(lp);
}
});
}
}

最后还要自定义样式文件value–>stysles中写

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值