(记录碰到的小问题)
And 控件相关
1、WebView
- 网页播放视频失败:
添加 JS 支持 -> web.getSettings().setJavaScriptEnabled(true) - 网页移除后,网页中的视频还在播放:
web.resumeTimers();
layout.removeAllViews();
// api 提示要将 web.destroy 要放到 removeView 之后
web.destroy();
//TODO 方式二【来自网络,测试有效】
// web.loadUrl("about:blank");
// web.destroy();
// layout.removeAllViews();
note: 如果使用系统的 WebView 碰到各种问题,可考虑集成使用腾讯的 X5内核。
Gradle
1、gradle 添加全局变量-buildConfigField
场景一:直接定义使用:
// 定义字符串
buildConfigField ("String", "DEF_STRING", '"def_string"')
// 定义 boolean 值
buildConfigField ("Boolean", "DEF_BOOL", 'false')
场景二:先定义,再使用:
# I. gradle 中添加配置-定义:
def bool = 'false'
def default_string = '"default_string"'
def debug_field = '"debug_field"'
android {
defaultConfig {
...
buildConfigField("Boolean","FIELD_BOOL",bool)
buildConfigField("String","FIELD_STRING",default_string )
}
buildTypes {
...
debug {
buildConfigField("String","FIELD_DEBUG",debug_field)
}
}
}
# II. 使用:
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
Log.e("_gradle","BOOL = " + BuildConfig.FIELD_BOOL)
Log.e("_gradle","STRING= " + BuildConfig.FIELD_STRING)
Log.e("_gradle","DEBUG = " + BuildConfig.FIELD_DEBUG)
}
Note:
1. 如果是字符串 要在value的由内向外先使用双引号,再嵌套使用 单引号,如 ‘“default_string”’ ;
3. 如果是 boolean 值,则使用 单引号,如 ‘false’ 。