zoukankan      html  css  js  c++  java
  • Android技巧篇

    获取当前手机语言:

            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中调用以下代码:

    1
    2
    3
    4
    5
    6
    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可点击:

    1. android:descendantFocusability="blocksDescendants"
  • 相关阅读:
    禁用LinkButton的方法
    Windows Server2008R2中导入Excel
    Viewport
    Firefox模拟手机访问手机网站
    关闭ReSharper中的[ Use 'var' ]提示(Disable C# “var” Recommendation in ReSharper)
    浏览器中如何获取想要的offsetwidth、、、clientwidth、、offsetheight、、、clientheight。。。
    JS中关于clientWidth offsetWidth scrollWidth 等的含义的详细介绍
    base64编码解码js
    scrollTop如何实现click后页面过渡滚动到顶部
    如何快速获取当前链接?后面的内容,location.search、页面滚动
  • 原文地址:https://www.cnblogs.com/xueqiang911226/p/3022180.html
Copyright © 2011-2022 走看看