java - 自定义对话与键盘 Android

标签 java android

我正在尝试在我的一个 Android 应用程序中使用自定义对话来编辑文本。我想在键盘上方显示对话。我在键盘下方隐藏了一半对话。我无法找到解决方案。如果这里的专家可以帮助解决这个难题,请告诉我。

我的java对话代码如下

final Dialog dialog = new Dialog(NameArt.this,R.style.Theme_Dialog);
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
    dialog.setContentView(R.layout.lyt_dialog_updatename);
    //dialog.getWindow().setLayout(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
    dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

XML 如下所示

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

    <EditText
        android:id="@+id/edstikertext"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center"
        android:layout_above="@+id/btncancel"
        android:hint="Enter text hear" />

    <Button
        android:id="@+id/btncancel"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:layout_marginRight="5dp"
        android:layout_alignParentBottom="true"
        android:layout_marginEnd="5dp"
        android:background="@drawable/boder"
        android:layout_marginTop="5dp"
        android:text=" Cancel " />

    <Button
        android:background="@drawable/boder"
        android:layout_alignParentRight="true"
        android:layout_alignParentEnd="true"
        android:id="@+id/btnok"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginRight="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginTop="5dp"
        android:text=" OK " />

</RelativeLayout>

我的风格如下

<style name="Theme_Dialog" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="android:windowMinWidthMajor">100%</item>
    <item name="android:windowMinWidthMinor">100%</item>
</style>

我想要键盘上方的对话,但它变得全高了。谢谢

最佳答案

我刚刚通过在显示对话之前添加这一行解决了这个问题

dialog.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

谢谢

关于java - 自定义对话与键盘 Android,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45532041/

相关文章:

java - 如何操作 jrxml 模板中指定的 SQL

java - 使用 IE11 删除 Selenium Webdriver 中的 cookie

java - JPQL - 计算时间戳之间的差异

android - 如何在android中创建自定义通知

android - RecyclerView 仅显示一项

java - 不知从何而来的电话权限?

保留属性顺序的 Java XML 库

java - Spring MVC 中的输入验证

java - ANDROID 时间选择器如何以小时和分钟显示两个数字

java - 如何按对象值整数对自定义arraylist进行排序