android技巧篇
来源:互联网 发布:小公司网络需求调查表 编辑:程序博客网 时间:2024/05/23 14:02
获取当前手机语言:
Configuration conf = context.getResources().getConfiguration();
String local = conf.locale.toString()
Android 屏幕显示设置:
程序中默的显示是带有标题栏和系统信息栏的,有的时候,这很影响程序界面的美观。手机默认的是竖屏,或与感应器状态相关,为了某种效果,我们的程序需要限制使用横屏或竖屏
//设置为无标题栏
requestWindowFeature(Window.FEATURE_NO_TITLE);
//设置为全屏模式
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
//设置为横屏
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
Android 获取手机号/手机串号:
TelephonyManager tm = (TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE);
String imei = tm.getDeviceId();
String tel = tm.getLine1Number();
3、设置闹钟
获取闹钟管理的实例:
AlarmManager alarmManager = (AlarmManager) getSystemService(Context.ALARM_SERVICE);
设置单次闹钟:
alarmManager.set(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (5*1000), pendingIntent);
设置周期闹钟:
alarmManager.setRepeating(AlarmManager.RTC_WAKEUP, System.currentTimeMillis() + (10*1000), (24*60*60*1000), pendingIntent);
如何获取Android系统时间是24小时制还是12小时制:
ContentResolver cv = this.getContentResolver();
String strTimeFormat = android.provider.Settings.System.getString(cv,
android.provider.Settings.System.TIME_12_24);
if(strTimeFormat.equals("24"))
{
Log.i("activity","24");
}
硬件加速:
Application级别:<applicationandroid:hardwareAccelerated="true" ...>
Activity级别:<activity android:hardwareAccelerated="false" ...>
Window级别:
getWindow().setFlags(
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED,
WindowManager.LayoutParams.FLAG_HARDWARE_ACCELERATED);
View级别:
myView.setLayerType(View.LAYER_TYPE_HARDWARE, null);
检测当前是否启用了硬件加速:
// 方法一
// 此方法返回true,如果myView挂在一个开启了硬件加速的Window之下,
// 也就是说,它在绘制的时候不一定使用了硬件加速,getDrawingCache
myView.isHardwareAccelerated();
// 方法二
// 返回true,如果canvas在绘制的时候启用了硬件加速
// 尽量采用此方法来判断是否开启了硬件加速
canvas.isHardwareAccelerated();
Android获得屏幕的宽度和高度很简单,只需在Activity中调用以下代码:
int screenWidth;
//屏幕宽度
int screenHeight;
//屏幕高度
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
screenWidth = display.getWidth();
screenHeight = display.getHeight();
反编译工具:
http://code.google.com/p/onekey-decompile-apk/
onekey-decompile-apk-1.0.1
字符串超长处理
android:ellipsize = "end" 省略号在结尾
android:ellipsize = "start" 省略号在开头
android:ellipsize = "middle" 省略号在中间
android:ellipsize = "marquee" 跑马灯
最好加一个约束android:singleline = "true"
当然也可以用代码语句
tv.setEllipsize(TextUtils.TruncateAt.valueOf("END"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("START"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MIDDLE"));
tv.setEllipsize(TextUtils.TruncateAt.valueOf("MARQUEE"));
Android下ListView上下滑动背景变黑
手指在ListView上下滚动时,ListViewItem背景变黑,因为在滚动的时候为了提升性能做了优化,为提高滚动的性能,Android框架在ListView中引入CacheColorHint属性。如果该值为非0,则说明该ListView绘制在单色不透明的背景上,在默认情况下该值为#191919,也就是黑色主题中的黑色背景颜色值,这样当ListView滚动的时候就会使用该值来绘制ListView的背景。
两种解决办法:
1、xml中,ListView内新增如下属性:
xml代码
android:cacheColorHint="#00000000"
2、Java类文件中,对ListView设置如下属性:
Java代码
listview中item中button可点击:
- android:descendantFocusability="blocksDescendants"
- android技巧篇
- Android Studio基础技巧篇
- android技巧
- Android技巧
- Android技巧
- android 技巧
- Android 技巧
- android 技巧
- android技巧
- Android 技巧
- Android技巧
- Android技巧
- Android优化技巧篇(一)
- Android 开发技巧 (资源文件篇)
- Android Studio代码调试技巧篇
- Android开发工具AS常用技巧篇
- Android Studio代码调试技巧篇
- 【Android】Android布局技巧
- JVM最大线程数
- Java基础语法篇(3)
- Django框架学习笔记(1.安装创建初识)
- java 基本数据类型及自动类型提升
- Ripple Labs 为什么能获得 Google Ventures、IDG 资本等风投机构青睐
- android技巧篇
- 单反入门拍摄
- DJANGO 2.0变化
- Android 开发之多线程处理、Handler
- [Wc]Dface双面棋盘
- KEYCODE
- Linux下.ko, .o, .so, .a, .la,.lo文件
- SlidingMenu属性详解
- StrictMode 使用