Week12 2016/11/29上午1-4节
一、复习上节课内容
二、实现强制下线功能
1、TableLayout+LoginActivity
(1)设置行间距
android:lineSpacingExtra设置行间距,如”3dp”。
android:lineSpacingMultiplier设置行间距的倍数,如”1.2″。
(2)editText.requestFocus();获取焦点
android editText 获取焦点 - lucky8star的专栏 - 博客频道 - CSDN.NET
Android中EditText中字体颜色的selector - 博客频道 - CSDN.NET
(3)editText改变字体颜色
SpannableString ss = new SpannableString("你要写的内容");//设置0-2的字符颜色
ss.setSpan(new ForegroundColorSpan(Color.RED), 0, 2,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
txtInfo.setText(ss);
Android TextView中文字通过SpannableString来设置超链接、颜色、字体等属性 - 享受技术带来的快乐 - 博客频道 - CSDN.NET
android SpannableString使用详解 - 青青芳妤 - 博客频道 - CSDN.NET
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE的含义 - Lily's Android tech Blog - 博客频道 - CSDN.NET
2、自定义Action
3、AlertDialog
dialogBuilder.setCancelable(false);
intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
Activity Intent相关FLAG介绍_一切依旧_新浪博客
AlertDialog alertDialog=dialogBuilder.create();
alertDialog.getWindow().setType(WindowManager.LayoutParams.TYPE_SYSTEM_ALERT);
android dialog使用小结 - minenamewj的专栏 - 博客频道 - CSDN.NET
解决在BroadcastReceiver(广播接受者)中不能添加AlertDialog(对话框)的问题(android.view.WindowManager$BadTokenException) - chenfuduo_loveit的专栏 - 博客频道 - CSDN.NET
加权限
4、SharedPreferences
为什么使用SharedPreferences?
Android中SharedPreferences和序列化结合保存对象数据
使用方法
Android应用开发SharedPreferences存储数据的使用方法-android100学习网
SharedPreferences详解 - zhang31jian的专栏 - 博客频道 - CSDN.NET
用SharedPreferences保存对象
Android使用SharedPreferences保存对象 - 推酷
SharedPreferences存储复杂对象解决方案 - i_bobby - 开源中国社区
www.jdon.com/android/sharedpreferences.html
android 关于使用SharedPreferences来保存对象里既有属性又有集合的问题-CSDN问答
android SharedPreferences 存储对象 - 任何一天任何一秒,你做了一个决定有可能改变你的人生。 - 博客频道 - CSDN.NET
5、用SharedPreferences实现记住密码功能
6、学生错误
java.lang.RuntimeException: Unable to start receiver com.example.microsoft.androidlesson20loginoffline.ForceOfflineReceiver: java.lang.IllegalStateException: You need to use a Theme.AppCompat theme (or descendant) with this activity.
原因:AlertDialog的包使用错误,应该用importandroid.app.AlertDialog;