0

私が欲しいものは、単に写真で示されています。1 つ目は通常、2 つ目はキーボードが表示されたときに何が起こるか、3 つ目は私が望むものです。

問題の絵

非常によく似た質問については、ここからヒントを得ることができます:

キーボードが表示されたときに Android のフォームが表示されるようにする

編集:私のマニフェストファイル

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="main.asil"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
         android:minSdkVersion="10"
         android:targetSdkVersion="15" />
     <uses-permission android:name="android.permission.INTERNET"/>
     <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
     <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
     <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

     <application
         android:icon="@drawable/ic_launcher"
         android:label="@string/app_name"
         android:theme="@style/AppTheme" >
         <activity
             android:name=".MainActivity"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
             android:label="@string/title_activity_main" 
             android:windowSoftInputMode="adjustResize">
             <intent-filter>
                 <action android:name="android.intent.action.MAIN" />
                 <category android:name="android.intent.category.LAUNCHER" />
             </intent-filter>
         </activity>
         <activity
             android:name="TextingActivity"
             android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
         </activity>
     </application>

 </manifest>

関連するxmlファイルは次のとおりです。

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


    <TextView
        android:id="@+id/label"
        android:layout_width="match_parent"
        android:layout_height="40dp"
        android:layout_gravity="right"
        android:layout_marginLeft="2dp"
        android:layout_marginRight="5dp"
        android:layout_marginTop="2dp"
        android:drawableLeft="@drawable/ic_launcher"
        android:gravity="center"
        android:scrollbars="vertical"
        android:text="@+id/label"
        android:textSize="30dp" >
    </TextView>

    <TextView
        android:id="@+id/chat_log"
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_marginTop="50dp"
        android:layout_weight="1"
        android:cacheColorHint="#00000000"
        android:clickable="false"
        android:gravity="bottom|left"
        android:scrollbars="vertical"
        android:stackFromBottom="true"
        android:transcriptMode="alwaysScroll" />

    <LinearLayout
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <EditText
            android:id="@+id/chat_input_text"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom"
            android:layout_weight="1"
            android:inputType="text" />

        <Button
            android:id="@+id/chat_send_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/chat_send" />


        <Button
            android:id="@+id/add_file_button"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="@string/add_file" />

    </LinearLayout>

</LinearLayout>
4

2 に答える 2

0

公式の Android 開発ドキュメントhttp://developer.android.com/guide/topics/manifest/activity-element.html#wsoftをチェックして、adjustPan を探してください。これは、レイアウトに関する問題を解決するのに役立ちます。

マニフェスト ファイルのアクティビティを次のように変更します

              <manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="main.asil"
android:versionCode="1"
android:versionName="1.0" >

<uses-sdk
     android:minSdkVersion="10"
     android:targetSdkVersion="15" />
 <uses-permission android:name="android.permission.INTERNET"/>
 <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
 <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

 <application
     android:icon="@drawable/ic_launcher"
     android:label="@string/app_name"
     android:theme="@style/AppTheme" >
     <activity
         android:name=".MainActivity"
         android:theme="@android:style/Theme.NoTitleBar.Fullscreen" 
         android:label="@string/title_activity_main" 
         android:windowSoftInputMode="adjustPan">
         <intent-filter>
             <action android:name="android.intent.action.MAIN" />
             <category android:name="android.intent.category.LAUNCHER" />
         </intent-filter>
     </activity>
     <activity
         android:name="TextingActivity"
         android:theme="@android:style/Theme.NoTitleBar.Fullscreen">
     </activity>
 </application>

于 2012-11-27T23:55:29.567 に答える
0

以下のコード行を androidmanifest.xml ファイルのすべてのアクティビティ タグに書き込むと、問題が解決します。

android:windowSoftInputMode="adjustPan" 

変更後、アクティビティは次のようになります:-

<activity
    android:name=".Splash_Screen_Activity"
    android:label="@string/app_name"
    android:windowSoftInputMode="adjustPan" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
于 2012-11-28T05:16:19.767 に答える