活动“adjustResize”属性实际上是如何工作的

时间:2016-08-29 09:50:55

标签: android android-edittext android-softkeyboard android-input-method

这些天我正在学习SoftKeyBoard流行音乐的时间,以及活动布局如何变化。然后我写了一个样本,我发现了一些奇怪的东西。

这是我的布局:

<LinearLayout     xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="com.margi.inputbar.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:orientation="vertical">

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="1" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="2" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="3" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="4" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="5" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="6" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="7" />
        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="30dp"
            android:text="8" />



    </LinearLayout>


<include layout="@layout/layout_input" />

这是清单:

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity"
        android:windowSoftInputMode="adjustResize">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

我使用Android Studio DDMS工具检查布局状态。

当我隐藏SoftKeyboard时,布局是:

image

XML布局是:

image

线性布局有八个子TextView。

然后软键盘弹出:

image

xml布局是:

image

LinearLayout只有4个子TextView

所以,以下是我想找到答案的两个问题:

(1)我想知道SoftKeyboard显示时实际发生了什么,消失的TextView在哪里?

(2)有没有文件,文件或博客来解释这个?我曾阅读过Google的文档Google training,但我对此仍然不太清楚。

0 个答案:

没有答案