android 开发代码 杂七杂八

下面各部分代码都是从网上看到或者自己曾经写过的,感觉比较实用,特记录下来,以备不时之需,代码如有冒犯,麻烦及时与我沟通:

1.Java反射机制获取系统@Hide属性

如获取状态条高度

在源码程序中代码:

height= getResources().getDimensionPixelSize(com.android.internal.R.dimen.status_bar_height);

通过SDK获取代码:

class c = Class.forName("com.android.internal.R$dimen");
Object obj = c.newInstance();
Field field = c.getField("status_bar_height");
int x = Integer.parseInt(field.get(obj).toString());
int y = getResources().getDimensionPixelSize(x);

2.Android应用程序的语言切换

       在资源文件中新建一个文件夹values-en,在里面新建一个strings.xml,把默认values文件夹中的strings.xml中的内容Copy至values-en中的strings.xml,再把该文件夹中的中文内容转换为英文,例如<string name="set">设置</string>转换为<string name="set">set</string>

      然后再主Activity中写一个方法

      代码:

      

     public void switchLanguage(Locale locale) {
           Configuration config = getResources().getConfiguration();// 获得设置对象
           Resources resources = getResources();// 获得res资源对象
           DisplayMetrics dm = resources.getDisplayMetrics();// 获得屏幕参数:主要是分辨率,像素等。
           config.locale = locale; // 简体中文
           resources.updateConfiguration(config, dm);
     }

       必须在OnCreate函数中调用

       还得注意的是:在AndroidManifest.xml中要配置一下

       在activity节点中加上这个属性: android:configChanges="locale"

        添加权限: <uses-permission android:name="android.permission.CHANGE_CONFIGURATION" />


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值