Jas*_*ers 106 layout android dialog
我有一个奇怪的行为,我无法确定其来源.
我的应用程序与经典
requestWindowFeature(Window.FEATURE_NO_TITLE);
Run Code Online (Sandbox Code Playgroud)
删除标题/状态栏.
然后我创建一个对话框,允许用户输入信息(名称等)
使用物理键盘,没问题但是当我使用虚拟键盘时,我有一个奇怪的行为:
每当我按下虚拟键盘上的一个键时,标题/状态栏会再次出现,推动所有键盘布局再次消失(就像我启动应用程序时的动画一样)
这是一些代码:
dialog = new Dialog(context);
dialog.setContentView(R.layout.logindialog);
dialog.setTitle("Login:");
WindowManager.LayoutParams a = dialog.getWindow().getAttributes();
// dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
a.dimAmount = 0;
dialog.getWindow().setAttributes(a);
dialog.setCancelable(true);
dialog.getWindow().setLayout(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT);
Run Code Online (Sandbox Code Playgroud)
然后
dialog.show();
Run Code Online (Sandbox Code Playgroud)
我试过了
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
Run Code Online (Sandbox Code Playgroud)
但它崩溃了我的应用程序.
这是xml
<TextView android:id="@+id/LoginText"
android:gravity="fill"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Login:">
</TextView>
<EditText android:id="@+id/LoginEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="jason"
android:layout_width="200sp"/>
<TextView android:id="@+id/PasswordText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Password:">
</TextView>
<EditText android:id="@+id/PasswordEdit"
android:layout_height="wrap_content"
android:singleLine="true"
android:text="welcome"
android:layout_width="200sp"
android:password="true"/>
<LinearLayout
android:id="@+id/test2"
android:gravity="center_horizontal"
android:orientation="horizontal"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<Button android:id="@+id/LoginButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Login" />
<Button android:id="@+id/CreateButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Create" />
<Button android:id="@+id/CancelLogin"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:text="Cancel" />
</LinearLayout>/>
Run Code Online (Sandbox Code Playgroud)
sat*_*sat 430
使用,
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); //before
dialog.setContentView(R.layout.logindialog);
Run Code Online (Sandbox Code Playgroud)
Pra*_*hat 24
在styles.xml中创建新样式
<style name="myDialog" parent="android:style/Theme.Dialog">
<item name="android:windowNoTitle">true</item>
</style>
Run Code Online (Sandbox Code Playgroud)
然后将此添加到您的清单:
<activity android:name=".youractivity" android:theme="@style/myDialog"></activity>
Run Code Online (Sandbox Code Playgroud)
Ran*_*mar 14
以上所有答案对AppCompatDialog都不起作用
如果您正在使用AppCompatDialog试试这个
重要说明:在调用setContentView之前设置它.
dialog.supportRequestWindowFeature(Window.FEATURE_NO_TITLE);
创建您的XML,该XML显示在对话框中,这里是activity_no_title_dialog
final Dialog dialog1 = new Dialog(context);
dialog1.requestWindowFeature(Window.FEATURE_NO_TITLE);
dialog1.setContentView(R.layout.activity_no_title_dialog);
dialog1.show();
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
127580 次 |
最近记录: |