val dp20 = resources.getDimensionPixelOffset(R.dimen.dp_20) drawableIndicator.apply { setIndicatorGap(resources.getDimensionPixelOffset(R.dimen.dp_2_5)) setIndicatorDrawable(R.drawable.heart_empty, R.drawable.heart_red) setIndicatorSize(dp20, dp20, dp20, dp20) setupWithViewPager(view_pager2) }转成java代码
时间: 2023-02-09 14:50:12 浏览: 123
int dp20 = getResources().getDimensionPixelOffset(R.dimen.dp_20);
drawableIndicator.apply {
setIndicatorGap(getResources().getDimensionPixelOffset(R.dimen.dp_2_5));
setIndicatorDrawable(R.drawable.heart_empty, R.drawable.heart_red);
setIndicatorSize(dp20, dp20, dp20, dp20);
setupWithViewPager(view_pager2);
}
相关问题
val dm = resources.displayMetrics
在Android Kotlin中,要实现当前页面的strings.xml语言切换,你可以使用`resources`对象来访问应用的资源管理器,包括strings.xml文件。当你想根据用户的语言设置动态加载对应的strings时,可以使用`DisplayMetrics`属性。下面是如何操作的一个示例:
```kotlin
// 获取displayMetrics对象
val dm = resources.displayMetrics
// 检查是否设置了特定的语言(如英文)
val currentLanguage = resources.configuration.locale.language
if (currentLanguage == "en") {
// 加载英语strings.xml
val stringsRes = resources.getIdentifier("strings", "xml", "your.package.name")
if (stringsRes != 0) {
val stringsXml = resources.loadXmlResourceId(stringsRes, "strings")
// 使用解析后的XML获取所需字符串
val desiredString = xml.rootElement?.findChild("string", "name_of_your_string").text
// 打印或使用该字符串
}
} else {
// 对于其他语言...
}
```
在这个例子中,我们首先获取`DisplayMetrics`,然后通过`configuration.locale.language`检查当前活动的设备语言。如果语言为"en",则查找并加载名为"strings"的XML文件。注意,你需要替换`your.package.name`为你应用的实际包名。
private fun showanbuKeyboard() { val builder = AlertDialog.Builder(this) val inflater = LayoutInflater.from(this) val view = inflater.inflate(R.layout.anbu, null, false) builder.setView(view) dialog = builder.create() dialog = Dialog(this, R.style.Transparent) as AlertDialog dialog.show() }这段代码有什么问题
在这段代码中,存在两个问题:
1. 对话框的创建方式重复了:您在代码中使用了两种不同的方式创建了对话框实例。首先,您使用`AlertDialog.Builder`创建了一个对话框实例,并将其设置为`Dialog`类型的`dialog`变量。然后,您又创建了一个带有自定义样式的`Dialog`实例,并将其转换为`AlertDialog`类型的`dialog`变量。这导致前一个对话框实例被覆盖,无法使用。
2. `Dialog`和`AlertDialog`的混用:您在代码中混用了`Dialog`和`AlertDialog`,这可能会导致一些问题。如果您只需要显示一个简单的对话框,可以直接使用`AlertDialog.Builder`创建对话框。如果您需要更多的自定义选项,可以考虑使用自定义的`Dialog`类。
以下是修正后的代码:
```kotlin
private fun showAnbuKeyboard() {
val builder = AlertDialog.Builder(this)
val inflater = LayoutInflater.from(this)
val view = inflater.inflate(R.layout.anbu, null, false)
builder.setView(view)
val dialog = builder.create()
dialog.show()
}
```
在修正后的代码中,我们只使用了`AlertDialog.Builder`创建了一个对话框实例,并直接调用了`show()`方法来显示对话框。这样就避免了重复创建对话框的问题,并且统一使用了`AlertDialog`类来处理对话框。
希望能帮助到您!如果还有其他问题,请随时提问。
阅读全文
相关推荐
















