EditText全部滑动,我想部分滑动,我该怎么做

时间:2012-11-27 23:47:22

标签: android android-layout

我想要的只是在图片中显示。第一个是正常的,第二个是键盘出现时发生的,第三个是我想要的。

problem picture

对于一个非常相似的问题,你可以从这里得到提示:

make my form in Android goes up when keyboard appear

编辑:我的清单文件

<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>

2 个答案:

答案 0 :(得分: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>

答案 1 :(得分:0)

将下面的代码行写入你的all activity标签到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>