我正在尝试在我的一个 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/