控件设置背景图像后设置 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; }
转载请注明:热爱改变生活.cn » Android 中一些小问题的解决办法
本博客只要没有注明“转”,那么均为原创。 转载请注明链接:sumile.cn » Android 中一些小问题的解决办法