• Android自定义Dialog,实际的项目开发中默认的Dialog样式可能满足不了需求,这就需要自行定义Dialog

上图先

Android自定义Dialog(自定义主题、自定义布局)

  • 自定义的Dialog类CustomDialog.java
package com.learn.ui.util;import android.app.Dialog;import android.content.Context;import android.os.Bundle;/** * <p>Title: CustomDialog</p> * <p>Description:自定义Dialog(参数传入Dialog样式文件,Dialog布局文件) </p> * <p>Copyright: Copyright (c) 2013</p> * @author archie * @version 1.0 */public class CustomDialog extends Dialog {        int layoutRes;//布局文件        Context context;        public CustomDialog(Context context) {            super(context);            this.context = context;        }        /**         * 自定义布局的构造方法         * @param context         * @param resLayout         */        public CustomDialog(Context context,int resLayout){            super(context);            this.context = context;            this.layoutRes=resLayout;        }        /**         * 自定义主题及布局的构造方法         * @param context         * @param theme         * @param resLayout         */        public CustomDialog(Context context, int theme,int resLayout){            super(context, theme);            this.context = context;            this.layoutRes=resLayout;        }        @Override        protected void onCreate(Bundle savedInstanceState) {            super.onCreate(savedInstanceState);            this.setContentView(layoutRes);        }    }
  • 随便写个onClick事件调用一下

    public void onClick(View v) {        switch (v.getId()) {        case R.id.customDialogBtn:            CustomDialog dialog=new CustomDialog(this, R.style.customDialog, R.layout.customdialog);            dialog.show();        default:            break;        }    }

  • theme样式文件style.xml
<?xml version="1.0" encoding="utf-8"?><resources>    <style name="customDialog" parent="@android:Theme.Dialog">        <item name="android:windowFrame">@null</item>        <item name="android:windowNoTitle">true</item>         <item name="android:windowIsFloating">true</item>        <item name="android:windowContentOverlay">@null</item>    </style></resources> 
  • 自定义布局文件customdialog.xml
<?xml version="1.0" encoding="utf-8"?><ScrollView xmlns:android="http://schemas.android.com/apk/res/android"    android:layout_width="280dip"    android:layout_height="wrap_content"    android:layout_gravity="center"    android:background="#EEEEEE" >    <LinearLayout        android:id="@+id/layout"        android:layout_width="280dip"        android:layout_height="fill_parent"        android:layout_gravity="center"        android:background="#EEEEEE"        android:orientation="vertical"        android:scrollbars="vertical" >        <TextView            android:layout_width="fill_parent"            android:layout_height="45dip"            android:layout_gravity="center_vertical"            android:background="#880000"            android:gravity="center_vertical"            android:paddingLeft="10dp"            android:text="自定义Dialog标题"            android:textColor="#FFFFFF"            android:textSize="20dip" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="36dip"            android:background="#EEEEEE"            android:gravity="center_vertical"            android:orientation="horizontal"            android:paddingLeft="10dip" >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="资源1:"                android:textColor="@android:color/black"                android:textSize="16dip" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="锤子"                android:textColor="@android:color/black"                android:textSize="16dip" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="1dip"            android:background="#C0C0C0" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="36dip"            android:background="#EEEEEE"            android:gravity="center_vertical"            android:orientation="horizontal"            android:paddingLeft="10dip" >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="资源2:"                android:textColor="@android:color/black"                android:textSize="16dip" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="毛线"                android:textColor="@android:color/black"                android:textSize="16dip" />        </LinearLayout>        <TextView            android:layout_width="fill_parent"            android:layout_height="1dip"            android:background="#C0C0C0" />        <LinearLayout            android:layout_width="fill_parent"            android:layout_height="36dip"            android:background="#EEEEEE"            android:gravity="center_vertical"            android:orientation="horizontal"            android:paddingLeft="10dip" >            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="资源3:"                android:textColor="@android:color/black"                android:textSize="16dip" />            <TextView                android:layout_width="wrap_content"                android:layout_height="wrap_content"                android:text="球"                android:textColor="@android:color/black"                android:textSize="16dip" />        </LinearLayout>    </LinearLayout></ScrollView>

over!

更多相关文章

  1. Android 的整体布局
  2. Android Material Design 进度条 自定义进度条样式
  3. Android 读取 assets目录下的文件
  4. android 五种 布局文件
  5. 仿WP8样式的Android ProgressBar
  6. Android安装apk文件,适配Android 7.0
  7. android 组件,xml布局中属性详解
  8. android 坐标布局 AbsoluteLayout

随机推荐

  1. Android(安卓)Studio 安装虚拟机,报错:emul
  2. 【Android(安卓)Developers Training】 7
  3. 我的Android(安卓)NDK之旅(二),使用ndk-buil
  4. Android弹出DatePickerDialog并获取值的
  5. 获取Android手机的图片和视频的缩略图[转
  6. (1)LruCache原理分析
  7. Android获取常用辅助方法(获取屏幕高度、
  8. android2.2应用开发之IccCard(sim卡或USIM
  9. Android(安卓)进程管理概述
  10. Android(安卓)Design Library之四:BottomS