- 文本大小textSize属性设置时单位应为sp不能为dp或无单位,例如:android:textSize=“20sp”
- RadioGroup单选按钮单击选择事件响应方法设置:
https://developer.android.com/guide/topics/ui/controls/radiobutton?hl=zh-cn - 在设置响应事件时,用lambda实现接口时代码如下(详见官网:https://developer.android.com/guide/topics/ui/controls/togglebutton):
val toggle: ToggleButton = findViewById(R.id.togglebutton)
toggle.setOnCheckedChangeListener { _, isChecked ->//此处后面不能加{},否则{}内的代码不会执行!
if (isChecked) {
// The toggle is enabled
} else {
// The toggle is disabled
}
}
其中的lambda表达式中如注释所示不能加大括号,即
toggle.setOnCheckedChangeListener { _, isChecked ->{//此处后面不能加{},否则{}内的代码不会执行!
//if-else语句并不会执行
if (isChecked) {
// The toggle is enabled
} else {
// The toggle is disabled
}
}
}
如果其中的"->"写法实现的接口需要返回值,具体写法参考下例:
editText.setOnEditorActionListener(TextView.OnEditorActionListener(){
v, actionId, event ->
if (event.action == KeyEvent.ACTION_DOWN) {
textView.setText(editText.text)
true
}else{
false
}
})
其中的true和false是返回值
- ImageButton中使用背景时使用android:background="@null",null前面必须有"@"不然编译通不过
- ImageView及其子类布局组件中,在较老的组件如QuickContactBadge组件中应该用android:src设置资源图片,不能用app:srcCompat,容易出现图片不显示错误,使用如下语句设置:android:src="@mipmap/ic_launcher"
- menu菜单组件中必须嵌套item不能嵌套menu,否则androidstudio会报无法启动XML的错误,例如:
错误写法:
<menu>
<menu>
...
</menu>
</menu>
正确写法:
<menu>
<item>
<menu>
...
</menu>
</item>
</menu>
- 在activity中获取本activity对象要在oncreate中获取不能再activity中直接定义类变量,即
class UserProfileInformationActivity : AppCompatActivity() {
//此时activity还没创建,可以获取到activity类但是是空的,
//不能进行finish()等,用来做Toast参数可以,Toast只需要接受
//context,不管是不是空
private val context=this
}
class UserProfileInformationActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.user_profile_information_activity)
context=this//在oncreate中定义最稳
}