Android编程实用小技巧
来源:互联网 发布:洛阳软件培训班 编辑:程序博客网 时间:2024/05/19 15:25
1、密码的显示与隐藏的转换方式
EditText loginEtPwd = ...// 设置EditText的密码为可见的loginEtPwd.setTransformationMethod(HideReturnsTransformationMethod.getInstance());// 设置EditText密码为隐藏的loginEtPwd.setTransformationMethod(PasswordTransformationMethod.getInstance());Editable editable = loginEtPwd.getText();// 将光标设置在文字末尾,如去掉此段则光标会跑到密码前面Selection.setSelection(editable, editable.toString().length());
2、关闭软盘(可以设置在onTouch中点击屏幕关闭软盘)
// 在Activity的触摸事件中执行关闭软盘操作 @Override public boolean onTouchEvent(MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP) { InputMethodManager im = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE); im.hideSoftInputFromWindow(getCurrentFocus().getApplicationWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); } return super.onTouchEvent(event); }
3、单位转换器TypedValue
TypedValue位于android.util.TypedValue,该类提供一个静态的单位转换方法:
static float applyDimension(int unit, float value, DisplayMetrics metrics)可以将其简单的封装做成一个单位转换工具类。如像素px与dp的转化:
TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 50, context.getResources().getDisplayMetrics());
4、判断网络是否连接
private boolean isNetworkAvailable() {ConnectivityManager cm = (ConnectivityManager) getSystemService(Context.CONNECTIVITY_SERVICE);if (cm == null) {} else {// 判断网络连接NetworkInfo[] info = cm.getAllNetworkInfo();if (info != null) {for (int i = 0; i < info.length; i++) {if (info[i].getState() == NetworkInfo.State.CONNECTED) {return true;}}}}return false;}
5、如何设置沉浸式状态栏
设置该特性时android版本必须大于等19才能使用。用法很简单,如下:
a、设置窗口属性
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);b、设置被沉浸控件的xml属性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#f0ff" android:orientation="vertical" > <TextView android:layout_width="match_parent" android:layout_height="100dp" android:background="#f00" android:clipToPadding="true" android:fitsSystemWindows="true" android:text="TextView" /></LinearLayout>
注意:不同的设置会有不同的效果,只有上面的顺序可以设置同iOS的效果。
设置效果如下图:
1 0
- Android编程实用小技巧
- 编程实用小技巧
- Android实用小技巧
- C#编程实用小技巧
- shell编程实用小技巧
- VS2013编程实用小技巧
- android 编程小技巧(1)---超实用的LogUtil
- Android Studio 实用小技巧
- Android 开发实用小技巧
- android编程小技巧
- android编程小技巧
- Android编程小技巧
- Android编程小技巧
- android之 ListView实用小技巧
- Android实用小技巧(动态更新)
- Android中实用小技巧集锦
- android编程小技巧集锦
- android编程小技巧集锦
- HDU 1164 Eddy's research I
- openswan安装配置手册(PSK)
- 程序打包成可执行的jar包
- Linux下安装maven
- 微软平台文件编码兼容Unix不生成BOM头
- Android编程实用小技巧
- Java动态代理详解
- solr报maxClauseCount is set to 1024 的解决方案
- Hibernate – Many-to-Many example (Annotation)
- 使用layer-list实现单个方向或指定方向描边
- 微信公众号消息text换行问题
- Git 使用说明
- 低版本升级HANA到SPS8及以上之前要处理的问题
- Linux系统裁剪(3)之动态增加Linux模块