Android中一些小问题的解决办法

无简介

控件设置背景图像后设置padding

控件的样式被设置成了这个样子的 tv_background_padding 在大部分的手机上面这个设置是没有问题的,但是在一些小屏幕手机上面会出现点击之前或者点击之后这个padding的效果突然没有的情况,这时候就需要去手动设置了

tv.setBackgroundResource(R.drawable.chufang_selected_small);
tv.setPadding(mPadding, mPadding, mPadding, mPadding);

上面两个的顺序不可以改变,改变之后设置的padding会失效

多行文本框光标放到左上角

android:gravity=“top”

6.0 Android请求权限

Activity

在将要进行会使用权限的动作的时候 code permission1:

if (ContextCompat.checkSelfPermission(this, Manifest.permission.CAMERA)
!= PackageManager.PERMISSION_GRANTED) {
//申请CAMERA权限
ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.CAMERA},
REQUEST_CODE_CAMERA);
} else {
openCamera();
}

接着可以在回调中获得请求权限是否成功的结果 code permission2:

@Override
public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
super.onRequestPermissionsResult(requestCode, permissions, grantResults);
doNext(requestCode, grantResults);
}

private void doNext(int requestCode, int\[\] grantResults) {
    if (requestCode == REQUEST\_CODE\_CAMERA) {
        if (grantResults\[0\] == PackageManager.PERMISSION\_GRANTED) {
            // Permission Granted
            openCamera();
        } else {
            UIHelper.ToastMessage(this, "没有打开照相机的权限");
        }
    }
}

fragment

在fragment中使用的时候只要将code permission1整体替换成下面的代码就可以,其他不用变:

requestPermissions(new String[]{Manifest.permission.CALL_PHONE},
REQUEST_CODE_CALLPHONE);

APP内部使用默认字体大小

一般来说我们程序中字体的大小都是跟随者系统去变得,如果系统字体变得很大的话,我们的布局可能就会出现错位,使用下面的代码可以让app使用默认字体大小,不跟随系统变化 把下面的代码放到activity中,最好是建一个基类Activity

@Override
public Resources getResources() {
Resources res = super.getResources();
Configuration config = new Configuration();
config.setToDefaults();
res.updateConfiguration(config, res.getDisplayMetrics());
return res;
}

-------------本文结束  感谢您的阅读-------------
下次一定