Android - editText和发送/退出按钮

时间:2011-03-10 08:53:36

标签: android android-edittext

我正在完成一个应用程序的实现,该应用程序具有发送消息的内部活动(只需editText和两个按钮 - 发送和取消,然后将消息发送到固定地址)。当我开始这个活动时,我会在屏幕上看到textBox和键盘,它会立即显示出来。但缺点是theese按钮被键盘覆盖或半覆盖,我想要的就是与消息类似。当键盘可见时,缩小文本字段并在键盘上方的添加按钮中显示,如果我点击屏幕下方的箭头,键盘消失,此editText将占据几乎整个屏幕,并且底部会有这两个按钮......这可能是真的吗?

编辑:如何实现,此屏幕将显示所有按钮的活动键盘?

<LinearLayout  xmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:orientation="vertical"
 android:layout_height="fill_parent"
 android:background="@drawable/poz3"
 android:padding="10dip">
 <TextView
  android:text="Message:"
    android:layout_width="fill_parent"
  android:layout_height="wrap_content"
  android:textSize="25dip"
  android:textColor="@color/black"
 />
 <EditText
    android:id="@+id/message"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:hint="Write message here"
    android:gravity="top"
    android:lines="7"
    android:inputType="textShortMessage|textAutoCorrect|textCapSentences|textMultiLine"
    android:imeOptions="actionSend|flagNoEnterAction"
 />
 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
     android:layout_width="fill_parent"
     android:orientation="horizontal"
     android:layout_height="fill_parent"
 >
 <Button
  android:id="@+id/enquirySendButton"
  android:layout_width="fill_parent"
  android:layout_height="60dip"
  android:text="Send"
  android:layout_weight="1.0"
  android:background="@drawable/custom_button"
/>
<Button
  android:id="@+id/enquiryExitButton"
  android:layout_width="fill_parent"
  android:layout_height="60dip"
  android:text="Cancel"
  android:layout_weight="1.0"
  android:background="@drawable/custom_button"

    />
  </LinearLayout>
</LinearLayout>

2 个答案:

答案 0 :(得分:1)

让它运转起来。 在你的XML布局中,在主布局(RelativeLayout)中有一个带按钮的LinearLayout和android:layout_alignParentBottom =“true”。在下面添加您的其他布局,使用子句android:layout_above =“@ id / yourButtonLayout” 我的现实生活代码是这样的:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"    
android:textSize="14dip" 
>

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/taskEditFormBottomButtons"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:baselineAligned="true"
    android:orientation="horizontal"        
    android:layout_alignParentBottom="true"
 >           

    <Button
        android:id="@+id/taskEditFormBTSave"        
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="@string/save" 
        android:layout_weight="0.5"                  
    />

    <Button
        android:id="@+id/taskEditFormBTCancel"        
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:textStyle="bold"
        android:text="@string/cancel"
        android:layout_weight="0.5"                
    /> 
</LinearLayout>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_above="@id/taskEditFormBottomButtons"
>

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        ....
    >
       ....
    </RelativeLayout>
</ScrollView>
</RelativeLayout>

答案 1 :(得分:0)

如果还没有尝试过,这可能会有所帮助..

http://developer.android.com/resources/articles/on-screen-inputs.html