alertdialog

第一天——对话框

China☆狼群 提交于 2019-12-27 00:19:33
对话框 普通的对话框 @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setIcon(R.drawable.ic_launcher_background); builder.setTitle("hello body"); builder.setMessage("先生女士们大家好"); builder.setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this, "你点击了确认按钮", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消", new DialogInterface

全局性Dialog(以及遇到的坑)

社会主义新天地 提交于 2019-12-24 01:56:56
完善后的全局性dialog代码: 添加权限: <!--动作管理覆盖权限--> < uses-permission android: name = " android.permission.ACTION_MANAGE_OVERLAY_PERMISSION " /> <!--系统警报窗口--> < uses-permission android: name = " android.permission.SYSTEM_ALERT_WINDOW " /> 完善代码: @Override protected void onCreate ( Bundle savedInstanceState ) { super . onCreate ( savedInstanceState ) ; setContentView ( R . layout . activity_main ) ; // 先判断系统是否为6.0 if ( Build . VERSION . SDK_INT >= Build . VERSION_CODES . M ) { // M == 23 // 再判断是否 有了悬浮窗权限 if ( ! Settings . canDrawOverlays ( LoginActivity . this ) ) { // 没有此权限,跳转到此权限页面,让用户手动开启 Intent intent =

安卓常用属性三

筅森魡賤 提交于 2019-12-21 08:50:52
day 10 简单对话框 String[] str = new String[]{"大数据", "物联网", "云计算", "无人机", "机器人", "人工智能", "5G", "3D打印", "区块链"}; String str1 = "云计算"; //定义AlertDialog.Builder AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.this); //设置标题 builder.setTitle("简单消息对话框"); //设置显示内容 builder.setMessage("大家好,这里是江洲老师云课堂!"); //设置按钮,以及按钮对应的监听事件 builder.setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialogInterface, int i) { Toast.makeText(MainActivity.this, "您单击了【确定】", Toast.LENGTH_SHORT).show(); } }); builder.setNegativeButton("取消", new

Android 构建者模式

為{幸葍}努か 提交于 2019-12-20 07:41:25
Android 构建者模式 为什么要写构建者模式? 1、不需要在Activity中去管功能的逻辑。 2、相互独立,有利于功能的扩展,需要就用,不需要就不用。 3、高内聚,低耦合,模块之间相互独立,不会对其他的模块产生影响。 为什么我要写构建者模式! 因为项目中列表里面出现了很多的小东西(比如:列表上面有年龄,性别,生日,名字是否要变颜色,好友关系)这些东西。有的列表上面又有,有的上面又没有,每次都要去单独的判断,所以我就想写一个统一的方法俩管理这些小的图标。就像下面这种-_-! 经典的例子。 AlertDialog AlertDialog dialog = new AlertDialog . Builder ( this ) . setIcon ( R . mipmap . test ) . setTitle ( "dialog" ) . setPositiveButton ( ) . setNegativeButton ( ) . create ( ) ; 这种一看链式结构就很整洁,需要什么东西就设置什么东西。不需要就不设置就行了。这种就完全符合我上面项目中遇到的场景。于是就自己写了一个构建这模式。这里记录一下。 public class MyLabelUtils { private Context context ; public MyLabelUtils ( Builder

兔子--AlertDialog

旧时模样 提交于 2019-12-19 03:54:27
效果: 实现步骤: 1.定义AlertDialog的布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="100dp" android:layout_height="100dp" android:background="@android:color/holo_green_dark" > <ImageView android:id="@+id/imageView_background_mydialog" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerInParent="true" android:src="@drawable/ic_launcher" /> </RelativeLayout> 2.创建Activity。布局例如以下 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http:/

android在Service,BroadCast onReceiver()中弹出Dialog对话框

╄→гoц情女王★ 提交于 2019-12-17 17:39:33
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 写好Alter功能块后,在alter.show()语句前加入: alert.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT); 注:alter为AlertDialog类型对象 然后在AndroidManifest.xml中加入权限: <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW"></uses-permission> 下面进行简单的解释: 如果只在Service中写入常在Activity中使用的创建Alter的代码,运行时是会发生错误的,因为Alter的显示需要依附于一个确定的Activity类。而以上做法就是声明我们要弹出的这个提示框是一个系统的提示框,即全局性质的提示框,所以只要手机处于开机状态,无论它现在处于何种界面之下,只要调用alter.show(),就会弹出提示框来。 demo如下: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Are you sure you want to exit?")

popupwindow popupmenu dialog

我只是一个虾纸丫 提交于 2019-12-09 16:23:47
private void iniPopupWindow() { LayoutInflater inflater = (LayoutInflater) this .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View layout = inflater.inflate(R.layout.task_detail_popupwindow, null); pwMyPopWindow = new PopupWindow(layout); pwMyPopWindow.setFocusable (true);// 加上这个popupwindow中的ListView才可以接收点击事件 lvPopupList.setAdapter(); // 控制popupwindow点击屏幕其他地方消失 pwMyPopWindow.setBackgroundDrawable (this.getResources().getDrawable( R.drawable.bg_popupwindow));// 设置背景图片,不能在布局中设置,要通过代码来设置 pwMyPopWindow.setOutsideTouchable(true);// 触摸popupwindow外部,popupwindow消失。这个要求你的popupwindow要有背景图片才可以成功,如上

Android常见错误

这一生的挚爱 提交于 2019-12-09 10:02:23
1 、 Unable to resolve target 'android-2' 安装低版本的 api ,再 default.properties 这个文件中把 target=android-2 改成 target=android-7 终于就没有问题了。 2 、 Invalid start tag LinearLayout main.xml 放错文件夹了,应该在 \res\layout 下。 3 、 INSTALL_FAILED_INSUFFICIENT_STORAGE 原因: SD 卡内存容量不够 法一:在下图的“ Additional Emulator Command Line Options ”中加上“ -partition-size 128 ” 法二:启动模拟器,然后进入菜单 settings->applications->mange applications-> select the application->select "unistall". 这样就能彻底删除了,然后再重新安装这个 apk 就没问题了 4 、 No Space left on device 清除 C:\Users\Lanyan\AppData\Local\Temp\AndroidEmulator 文件夹下的 tmp 文件 参考资料: http://hi.baidu.com/boderboder

Android自定义Style

霸气de小男生 提交于 2019-12-05 12:42:25
1 背景介绍 最近接触了一款APP,从Android5.1.1升级到Android8.1,整个APP使用的主题为”@android:style/Theme.DeviceDefault.Light”。测试在Bugzilla上提了好几个关于UI方面的Bug。研发一看就知道这些不是Bug,但是测试他们毕竟不是开发,只会看表面现象,同一个APP在不同版本Android平台上UI不一致都是Bug。要给测试、PM说清楚这些不是Bug,就必须了解Android系统的Style.Style可以简单理解为一组 属性的集合 ,方便对APP的样式做一个统一处理。下面从属性开始了解Style. 2 属性 属性(attr)可以简单理解为特性。比如名字、皮肤颜色等等都是属性。 2.1申明属性 假如要实现人类皮肤和名字这样一组属性,那在Android中要如何实现呢? 首先在“res/values”目录下创建一个文件名为attrs.xml。具体内容如下: <?xml version="1.0" encoding="utf-8"?> <resources> <!-- 自定义属性skinColor --> <attr name="customSkinColor" format="color" /> <!-- 自定义属性name --> <attr name="customName" format="string" /

AlertDialog创建对话框的测试

喜欢而已 提交于 2019-12-04 16:19:05
AlertDialog的功能是非常强大的,它可以创建各种对话框,它的结构分为:图标区、标题区、内容区、按钮区共四个区域。以这样的思路区创建AlertDialog是非常简单的。 创建AlertDialog的 七大步骤 : 创建AlertDialog.Builder对象 调用AlertDialog.Builder对象的setTitle()或setCustomTitle()方法设置标题 调用AlertDialog.Builder的setIcon方法设置图标 调用AlertDialog.Builder相关方法如setMessage方法、setItems方法、setSingleChoiceItems方法、setMultiChoiceItems方法、setAdapter方法、setView方法设置不同类型的对话框内容。 调用setPositiveButton、setNegativeButton、setNeutralButton或者setNeutralButton()方法设置多个按钮 调用Builder对象的create()方法创建AlertDialog对象 调用AlertDialog.Builder对象的create()方法创建AlertDialog对象,然后调用show()方法将对话框显示出来 对步骤4中的六种方法进行简单解析: setMessage方法设置对话内容为简单文本