完全自定义dialog布局的实现

原创 2016年06月02日 08:44:41

因为项目需要美工做出了dialog 的样式文字大小以及颜色。我试过一种是加载inflate的那个界面但是那个alertdialog不能自定义按钮和文字。而我需要把按钮和文字的样式以及大小自定义,而修改系统theme下的样式很麻烦,还有一些修改弹出框大小的属性不起作用,所以我就自定义一个alertdialog样式。
下面直接上代码
这个是主函数:

protected void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
        Button button = (Button)findViewById(R.id.btnread);
      button.setOnClickListener(new OnClickListener()
    {

        @Override
        public void onClick(View v)
         {
            DialogInterface.OnClickListener listener;
            listener = new DialogInterface.OnClickListener()
            {

                @Override
                public void onClick(DialogInterface dialog, int which)
                {
                    // TODO Auto-generated method stubf
                    finish();        
                }
            };

            final CharSequence msg = "数据";

           final AlertDialog builder = new AlertDialog.Builder(MainActivity.this)  
            .create();
            builder.show();
            builder.getWindow().setContentView(R.layout.dialog);//设置弹出框加载的布局

            TextView tv_title = (TextView) builder.findViewById(R.id.tv_dialog_title);  
            tv_title.setText(msg);

            builder.getWindow()  
            .findViewById(R.id.button1)  
            .setOnClickListener(new View.OnClickListener() {  //按钮点击事件
            @Override  
            public void onClick(View v) {  
                builder.dismiss();  
            }  
            });
         }

    });     
    }

他加载了一个界面布局,而这个布局是我自己定义的。你可以按照自己的需求在此xml中加入自己想加入的控件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"  
    android:layout_width="match_parent"  
    android:layout_height="match_parent"  
    android:background="#ffffff"  
    android:orientation="vertical" >  

    <TextView  
        android:id="@+id/tv_dialog_title"  
        android:layout_width="match_parent"  
        android:layout_height="90dp" 
        android:gravity="center" 
        android:textColor="#2F2F2F"  
        android:textSize="24sp"  
         />
         //划一条分割线
        <View  
         android:layout_width="match_parent"  
         android:layout_height="1dp" 
         android:background="#d3d3d3"  />
    <Button
        android:id="@+id/button1"
        android:layout_width="match_parent"
        android:layout_height="66dp"
        android:background="#ffffff"
        android:textColor="#2f2f2f"
        android:textSize="30sp"
        android:text="确定" />
</LinearLayout>  
版权声明:本文虽为博主原创文章,但是秉承学习开放原则,欢迎转载学习使用。

Doxygen学习笔记2--生成.chm文件

参考自:二叉树百科http://www.erchashu.com/wiki/doxygen-chm-chinese-hlep-doc#使用doxygen生成全中文的chm帮助文档 需要软件: Doxy...

QTableWidget无限加载

#ifndef MYTABLE_H #define MYTABLE_H #include class RowWidget : public QWidget { public: expli...
  • tujiaw
  • tujiaw
  • 2015年04月09日 18:48
  • 897

android 通过回调实现 完全自定义Dialog 简单易用

最近的项目要用到弹出窗,然后在弹出窗上进行操作,选择啊什么的,于是就想到了dialog,查看了网上 很多例子,感觉有些太繁琐——定义theme然后在theme中定义dialog的样式,有些又达不到我想...

android开发学习笔记——自定义布局的dialog宽度的问题

在自定义dialog布局时,我们可能会遇到dialog宽度不正常的问题,进而导致显示内容不正常。...

自定义dialog布局展示(关闭按钮突出一块)

效果如上图所示: 只要遵循以下三点即可: 1,直接设置Dialog的样式就可以。 2,设置dialog的setContentView,即:自己想要的布局界面 3,设置相应点击事件即可 具体代码如...

Android学习笔记之为Dialog自定义布局,并说明空指针问题

在使用自定义布局时经常会碰见这样的问题:edit = (EditText) findViewById(R.id.edit);并不能获取到控件对象; 在后面代码中使用edit时会报错,空指针异常。意思...
  • SJF0115
  • SJF0115
  • 2012年03月07日 18:03
  • 9538

自定义dialog布局遇到的问题

1、首先,创建一个dialog的方法有: AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); final Ale...
  • kaleir
  • kaleir
  • 2015年08月05日 15:08
  • 994
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:完全自定义dialog布局的实现
举报原因:
原因补充:

(最多只允许输入30个字)