gpt4 book ai didi

java - 在以上 Android N 的对话框中,Edittext 无法接收来自键盘的输入

转载 作者:行者123 更新时间:2023-12-02 05:35:39 24 4
gpt4 key购买 nike

我正在设置一个对话框以从用户处获取 PIN 码。虽然对话框确实通过键盘出现,但 edittext 没有收到来自键盘的输入。同样的对话框在 android 6 上工作。下面是代码

对话框代码

    LayoutInflater layoutInflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);
View promptsView = layoutInflater.inflate(R.layout.activity_password,
null);
Dialog dialog = new Dialog(getApplicationContext()
, android.R.style.Theme_Black_NoTitleBar_Fullscreen);
dialog.setCanceledOnTouchOutside(false);
dialog.setCancelable(false);
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O) {
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_APPLICATION_OVERLAY);
}
else {
dialog.getWindow().setType(WindowManager.LayoutParams.TYPE_PHONE);
}
dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT,
WindowManager.LayoutParams.MATCH_PARENT);
dialog.setContentView(promptsView);
dialog.getWindow().setGravity(Gravity.CENTER);
dialog.show();

XML 布局代码:

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/colorAccent">
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="32dp"
android:text="Enter Your Pin"
android:textSize="16sp"
android:gravity="center"
android:textColor="#fff"
android:layout_marginTop="@dimen/activity_vertical_margin"
/>
<EditText
android:layout_width="150dp"
android:layout_height="wrap_content"
android:layout_margin="5dp"
android:layout_centerInParent="true"
android:hint="Enter Pin"
android:id="@+id/enter_pin"
android:inputType="numberPassword"
android:textAlignment="center"

/>
<Button
android:id="@+id/confirm"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/enter_pin"
android:text="Confirm"
android:layout_marginTop="8dp"
android:layout_marginBottom="8dp"
android:layout_marginLeft="32dp"
android:layout_marginRight="32dp"
android:textSize="12dp"
android:textColor="#fff"
android:background="@android:color/transparent"
/>
</RelativeLayout>

最佳答案

请在对话框的 Java 文件中尝试以下代码:

                Dialog dialog = new Dialog(MainActivity.this);
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
dialog.setContentView(R.layout.activity_password);
dialog.setCanceledOnTouchOutside(true);
dialog.getWindow().setLayout(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT);
Window window = dialog.getWindow();
window.setGravity(Gravity.CENTER);
dialog.show();

此代码适用于上面的 android N 以及下面的 android N。

我希望它对你有用。

关于java - 在以上 Android N 的对话框中,Edittext 无法接收来自键盘的输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56168697/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com