Activity实现的Dialog(并不是 用Dialog 的样式实现)
来源:互联网 发布:区块链 数据确权 编辑:程序博客网 时间:2024/04/28 05:14
优点:
dialg
位置可以显示在任意位置,在Layout布局的时候可以自定义
对话框的事件处理可以直接在Activity中处理。其他地方要显示Dialog的话,直接StartActivity/StartActivityFotresult方法可以通过Intent进行交互。
避免Activity destory 了Dialog还在显示,导致的应用崩溃。
首先定义我们自己的theme ,注意:在定义Activity的style时候,最好继承系统Theme,我这里没有,因为我用的是Activity,所以没事,如果用的是AppCompatActivity,必须继承AppTheme,否则报错
<style name="CustomActivityDialogStyle"> <item name="android:windowBackground">@android:color/transparent</item> <!--是否半透明--> <item name="android:windowIsTranslucent">true</item> <!--是否有标题栏--> <item name="android:windowNoTitle">true</item></style>
在manifest中给指定的Activity用上我们自定义的theme
<activity android:theme="@style/CustomActivityDialogStyle" android:name=".ActivityDialog" android:label="@string/title_activity_activity_dialog" ></activity>
Activity 的布局 activity_activity_dialog.xml
<RelativeLayout 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" tools:context="com.example.liaoli.activitydialogdemo.ActivityDialog"> <RelativeLayout android:layout_centerInParent="true" android:background="#6cb3ff" android:layout_width="200dp" android:layout_height="wrap_content"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:minHeight="40dp" android:text="升级提醒" /> <TextView android:id="@+id/message" android:layout_below="@+id/title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:paddingLeft="5dp" android:paddingRight="5dp" android:minHeight="40dp" android:text="新升级萌萌的,快点升级吧,惊喜多多哦!!!!" /> <TextView android:id="@+id/bt" android:layout_below="@+id/message" android:layout_width="match_parent" android:layout_height="wrap_content" android:minHeight="40dp" android:gravity="center" android:text="下载" /> </RelativeLayout></RelativeLayout>
ActivityDialog.java
package com.example.liaoli.activitydialogdemo;import android.app.Activity;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.widget.TextView;import android.widget.Toast;public class ActivityDialog extends Activity { private TextView bt; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_activity_dialog); bt = (TextView) findViewById(R.id.bt); bt.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { Toast.makeText(ActivityDialog.this,"后台下载中",Toast.LENGTH_SHORT).show(); finish(); } }); }}
MainActivity的代码
package com.example.liaoli.activitydialogdemo;import android.content.Intent;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.Menu;import android.view.MenuItem;import android.view.View;public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void showDialog(View view){ Intent i = new Intent(this,ActivityDialog.class); startActivity(i); }}效果
源码:http://pan.baidu.com/s/1c0lwhNi
0 0
- Activity实现的Dialog(并不是 用Dialog 的样式实现)
- Android Dialog样式的Activity的实现
- 实现透明Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- Dialog样式的Activity
- 用Activity的dialog主题实现自定义dialog
- 实现Dialog风格的Activity
- dialog样式的activity,可全屏、可任意大小的dialog实现
- 【Android】 activity的dialog样式
- 弹出dialog样式的activity
- Activity 的Dialog 样式使用
- Android实现dialog功能的Activity
- Android实现不依赖activity的dialog
- Android省市区一,二,三联滚动选择器(使用Dialog样式的Activity实现)
- dialog样式的activity的全屏设置
- 背包问题
- Timer01
- String、Array常用方法整理
- 关于UIScrollView自动调整inset问题
- 混音器(AudioMixer):用Unity 5.0混合出美妙节拍
- Activity实现的Dialog(并不是 用Dialog 的样式实现)
- java中printf,print,println,区别及用法详解
- 11月26日 粒子练习
- 圆角头像
- led_class浅析
- 欢迎使用CSDN-markdown编辑器
- 黑马程序员—JAVA基础—String类、StringBuffer类
- svn强制添加注释问题处理
- 二维码扫描