【问题标题】:Edittext focus on start and prevent pushing layoutEdittext专注于开始并防止推送布局
【发布时间】:2015-06-13 02:06:36
【问题描述】:

我想将我的EditText 视图集中在活动启动上,所以我有

<activity
    android:name=".TestViewActivity"
    android:windowSoftInputMode="stateVisible|adjustPan"
    android:screenOrientation="portrait"
    android:theme="@android:style/Theme.DeviceDefault.NoActionBar.Fullscreen">
</activity>

这是在Button 点击时启动的第二个活动。如果没有android:windowSoftInputMode="stateVisibleEditText 将不会专注于启动,所以这就是我拥有它的原因。我的问题是它正在接收焦点,但即使使用adjustPan,它也会推高上述TextView。这是我的活动的整个 xml 文件

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<EditText
    android:id="@+id/typeView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true" />

<TextView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_alignParentTop="true"
    android:id="@+id/wordsView"
    android:text="@string/hello_world"/>

</RelativeLayout>

我希望能够获得焦点并防止键盘向上推TextView

【问题讨论】:

    标签: java android android-layout android-activity


    【解决方案1】:

    从清单中删除 android:windowSoftInputMode="stateVisible|adjustPan"。

    在您的活动的 onCreate() 中添加以下代码,

    EditText myEditText = (EditText) findViewByID(R.id.typeView);
    myEditText.requestFocus(); //Gets focus on Edit text.
    

    【讨论】:

    • 或者您可以使用&lt;requestFocus /&gt; 请求布局中的焦点,如下所示:&lt;EditText ...&gt; &lt;requestFocus /&gt; &lt;/EditText&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-26
    • 1970-01-01
    相关资源
    最近更新 更多