android - 基于键盘调整EditText高度

  发布于 2023-02-12 17:49

我在android中有一个活动,其中有一个编辑框和编辑框下面的3个按钮.请查看附件.启动此活动时,默认状态为STATE1.(请参阅图像).键盘默认可见.现在,当我按下后退按钮或处理键盘时,我希望重新调整edittext并占用整个屏幕,如STATE2所示.

我不知道如何做到这一点.我将edittext的高度硬编码为基于目标设备的某些dp.我相信这必须改变.任何人都可以帮助我如何实现这一目标.

布局文件的XML和screencap一样






    

    

        

在此输入图像描述

2 个回答
  • 改变你的EditText如下:

    <EditText
        android:id="@+id/EditMessage"
        android:layout_
        android:layout_
        android:layout_weight="1"
        android:gravity="top"
        android:imeOptions="actionDone"
        android:inputType="textMultiLine|textFilter|textVisiblePassword|textNoSuggestions"
        android:maxLength="200"
        android:padding="5dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#000000"
        />
    

    layout_weight = 1

    在我看来,你并不需要adjustPan.我会留给你决定.行为会有所不同,你可以尝试一下.以下是文档中所说的内容adjustPan:

    活动的主窗口未调整大小以便为软键盘腾出空间.相反,窗口的内容会自动平移,以便键盘不会遮挡当前焦点,用户可以随时看到他们正在键入的内容.这通常比调整大小更不合适,因为用户可能需要关闭软键盘以获得窗口的模糊部分并与其交互.

    如果使用此按钮,底部的按钮可能会隐藏.而是使用adjustResize:将此行放在里面的活动中AndroidManifest

    android:windowSoftInputMode="stateVisible|adjustResize"
    

    2023-02-12 17:50 回答
  • 在你的清单中尝试这个..

    <activity
          android:name="Activity"
          android:windowSoftInputMode="adjustPan"/>
    

    并且你的edittext <requestFocus />用于从那个开始本身它将集中

    并且android:layout_weight="1"它会自动填充屏幕.

     <EditText
            android:id="@+id/EditMessage"
            android:layout_
            android:layout_
            android:layout_weight="1"            
            android:background="#696969"
            android:gravity="top"
            android:imeOptions="actionDone"
            android:inputType="textMultiLine|textFilter|textVisiblePassword|textNoSuggestions"
            android:maxLength="200"
            android:padding="5dp"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="#000000"
           >
    
            <requestFocus />
    
        </EditText>
    

    2023-02-12 17:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有