Android 有没有办法更改kotlin扩展自动创建的视图的名称?

Android 有没有办法更改kotlin扩展自动创建的视图的名称?,android,kotlin,kotlin-android-extensions,Android,Kotlin,Kotlin Android Extensions,我是科特林的新手。我注意到视图可以通过导入自动绑定到活动 kotlinx.android.synthetic.main.activity\u main... 如果我在活动中使用id=“btn\u login”声明视图,我可以通过 activity.btn_login.setText("Login") 但是。是否有任何方法可以将alias更改为view,例如ButterKnife: @BindView(<id of view>) <name of view> @Bind

我是科特林的新手。我注意到视图可以通过导入自动绑定到活动
kotlinx.android.synthetic.main.activity\u main...

如果我在活动中使用id=“btn\u login”声明视图,我可以通过

activity.btn_login.setText("Login")
但是。是否有任何方法可以将alias更改为view,例如ButterKnife:

@BindView(<id of view>)
<name of view>
@BindView()

这是一个合成导入,因此从技术上讲,您可以使用导入别名以另一个名称来调用它:

import kotlinx.android.synthetic.main.activity_main.view.btn_login as btnLogin
但考虑到没有自动完成这项工作的工具,您可能希望采用不同的ID命名方案

这里有一个合理的理由:

何处描述修改器:

recyclerSearchSuggestions
-显示搜索建议的RecyclerView

fabSearchGo
-执行搜索的浮动操作按钮

textSearchFilterChip
-表示搜索过滤器的TextView,样式为材料芯片

按钮SearchClearFilter
-清除所选过滤芯片的按钮

editSearchFilter
-用于缩小搜索建议范围的EditText


据我所知,唯一的方法是使用命名导入。这是Kotlin语言的一个非常好的特性,Java不支持。不幸的是,这需要为您想要替换的对象手动设置它,所以它可能只是一个简单的样板

但您可以将导入更改为:

import kotlinx.android...your_view as yourView
这适用于任何和所有导入,也适用于任何类型。它可以通过类、方法、常量。。。随便你喜欢什么


虽然如果您可以访问XML文件,但我建议您只更改其中的ID。没有理由不使用camelCase,而且它比在每次导入中使用
作为customName
稍微容易一些

问题是,有时我想使用一个id,它类似于当前活动的“本地”。如果在XML中使用此本地id,它可能会与其他布局中的其他id冲突。在这种情况下,有这样的选择将是非常好的。