Android View 获取焦点

Android View 获取焦点

有时我们需要某些View获取焦点,比如EditText获取焦点弹出键盘,我们有以下几种方式可以做到

1.在页面初始化的时候调用view.requestFocus()

override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main4)
				editText.requestFocus()
}

2.在xml中,View标签内部,使用< requestFocus/>

<LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <EditText
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:focusable="true"
            android:focusableInTouchMode="true">
            <requestFocus />
        EditText>
LinearLayout>
  1. 第2种方式相当于在xml解析时就调用了EditText的requestFocus()方法

  2. 以上两种方式可以在界面打开是就使EditText获取焦点,并弹出键盘(还要依赖activity的键盘设置,相关内容可以参考这篇文章)

  3. 如果我们在页面创建之后的某个时机,调用EditText的requestFocus()方法使其获取焦点,此时不会主动弹出键盘,我们可以通过手动调起键盘来实现(相关内容可以参考这篇文章)

  4. 其他View也是如此,相关的焦点设置要点和api参考这篇文章

你可能感兴趣的:(知识积累,android相关)