【前言】
本文章记录Android TV、拉杆音响等设备下罕见BUG。
1.对话框显示不完整
1.1 BUG描述
此处的对话框显示不完整,不是常见的宽高设置不正确、主题设置不正确,BUG现象更像是界面渲染的问题,见下图所示:
1.2 BUG解决
不要使用setBackground()方式加载图标
ImageView imageView = view.findViewById(R.id.iv_icon);
//imageView.setBackground(drawable);//该BUG修改该行代码解决了问题
imageView.setImageDrawable(drawable);
2.关于OpenGL ES2.0 下纹理贴图出现黑色背景
2.1 BUG描述
Android 4.4 使用OpenGL ES2.0 纹理贴图显示图片,图片本身是png格式的带圆角图(如下),可以很明显看到四个角有黑色的背景:
2.2 解决办法
- 检查是否设置了亮度;
MatrixState.setLightLocation(100, 100, 100);
- 检测是否开启深度检测,若开启关闭它
GLES20.glEnable(GLES20.GL_DEPTH_TEST);
3.使用字节跳动的自适应方案,二级界面下显示异常
3.1 BUG描述
字节跳动屏幕自适应是重写getResource方法:
public class MainActivity extends AppCompatActivity{
@Override
public void onCreate() {
super.onCreate();
CommonLogControl.DEBUG = true;
}
@Override
public Resources getResources() {
return CommonScreenAdapter.adaptResources(MainActivity.this, super.getResources());
}
}
在MainActivity界面下是正常显示的,但是如果aar库中有activity,在MainActivity下打开,会出现适配问题。
3.2 解决方法
将build.gradle中的gradle版本修改为3.5.2。
buildscript {
repositories {
google()
jcenter()
}
dependencies {
//classpath "com.android.tools.build:gradle:4.1.1"
classpath "com.android.tools.build:gradle:3.5.2"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}