Android 自定义符合软件整体风格的dialog
来源:互联网 发布:苹果cms有自带采集插件 编辑:程序博客网 时间:2024/05/16 01:36
1、设置自定义dialog需要的风格,去除标题栏,完全可以使用xml来引入自己的风格布局,style中设置:
<style name="MyDialog" parent="android:style/Theme.Dialog"> <!-- 背景颜色及透明程度 --> <item name="android:windowBackground">@android:color/transparent</item> <!-- 是否有标题 --> <item name="android:windowNoTitle">true</item> <!-- 是否浮现在activity之上 --> <item name="android:windowIsFloating">true</item> <!-- 是否模糊 --> <item name="android:backgroundDimEnabled">false</item> <item name="android:windowFrame">@null</item></style>
2、自定义MyDialog并引入设置的主题:
public class MyDialog extends Dialog {
private TextView tvClick1;private TextView tvClick2;private Context mContext;private String string;private static int mTheme = R.style.MyDialog;public MyDialog(Context context) { super(context); this.mContext = context;}/** * 用于传进来设置的主题 */public MyDialog(Context context, String string) { super(context, mTheme); this.mContext = context; this.string = string;}@Overrideprotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_dialog); tvClick1 = (TextView) findViewById(R.id.tv_click1); tvClick2 = (TextView) findViewById(R.id.tv_click2); tvClick1.setOnClickListener(new android.view.View.OnClickListener() { @Override public void onClick(View v) { MyDialog.this.dismiss(); Toast.makeText(mContext, "点击1", Toast.LENGTH_SHORT).show(); } }); tvClick2.setText(string);}
}
3、自定义的xml文件my_dialog.xml,根据自己的风格设置样式和背景,可以传入数据显示,增加按钮进行自主操作,主要是能够设置风格,而不用使用系统固定的样式:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#ff0000"android:orientation="vertical" ><TextView android:id="@+id/tv_click1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="20dp" android:text="点击1" /><TextView android:id="@+id/tv_click2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center" android:padding="20dp" /></LinearLayout>
4、在使用的地方Activity之中直接引入:
/** * 传入的数据 */private String string;string = "可以传入的数据显示";findViewById(R.id.click).setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { new MyDialog(MainActivity.this, string).show(); } });}
5、设置自己应用风格的dialog从简单做起。
0 0
- Android 自定义符合软件整体风格的dialog
- 【Android】自定义风格的各种dialog
- Android:自定义Material Design风格的Dialog
- Android:自定义Material Design风格的Dialog
- Android自定义iOS风格Dialog
- Android开篇之高仿ios风格的自定义Dialog
- android dialog 两种自定义布局风格
- Android Material 风格的 Dialog
- 自定义圆角风格dialog的Activity
- 自定义圆角风格dialog的Activity
- 自定义圆角风格dialog的Activity
- 自定义material design 风格的Dialog
- 自定义Dialog风格
- android Dialog的自定义
- 自定义Android的Dialog
- Android 自定义的Dialog
- android 自定义的dialog
- Android UI设计之<七>自定义Dialog,实现各种风格效果的对话框
- Node.Js http模块(一)-发送http请求实例
- Linq To DataSet
- python python-eggs 异常解决方法
- Android 事件分发机制 和 消息处理机制
- C 语言 undefined reference to 'sqrt' 问题解决
- Android 自定义符合软件整体风格的dialog
- Swift 初始化顺序
- 聚集索引和非聚集索引(整理)
- Java线程(二)线程池
- python中的列表解析和列表生成表达式
- 广告轮播Banner
- 【二分】NEERC15 L Landscape Improved (Codeforces GYM 100851)
- 【剑指offer】连续子数组的最大和
- ROS多进程回调的实现 ROS Using different ros::CallbackQueue