我正在使用android.support.v4.app.DialogFragment
向自己询问一些凭据。
片段实例化如下:
DialogFragment cf = CredentialDialogFrag.newInstance();
cf.setStyle(DialogFragment.STYLE_NORMAL, R.style.AppTheme_TitleDialog);
cf.show(getChildFragmentManager(), "credentialDialog");
每当我设置标题时,布局都会搞砸:
如果我没有在我的对话框中使用标题,那么看起来很好:
如何阻止标题扩展对话框的宽度?为什么会发生这种情况?
在阅读预定义的XML文件时,我找不到相应的样式元素。
我也尝试创建自己的windowTitleStyle
,这对我来说没有用。我能够更改文本颜色,字体但无法设置标题的宽度。
布局xml(没什么太花哨的):
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/fragCredential"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:context=".fragments.CredentialDialogFrag">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="10dp">
<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/til_login"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<android.support.design.widget.TextInputEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPersonName"
android:ems="10"
android:id="@+id/input_cred_login"
android:hint="@string/hint_cred_login" />
</android.support.design.widget.TextInputLayout>
<android.support.design.widget.TextInputLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/til_pass"
android:layout_below="@+id/til_login"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true">
<android.support.design.widget.TextInputEditText
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:inputType="textPassword"
android:ems="10"
android:id="@+id/input_cred_pass"
android:hint="@string/hint_cred_pass" />
</android.support.design.widget.TextInputLayout>
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@android:string/cancel"
android:id="@+id/button_cred_cancel"
android:layout_below="@+id/til_pass"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true" />
<Button
style="?android:attr/buttonStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@android:string/ok"
android:id="@+id/button_cred_ok"
android:layout_alignTop="@+id/button_cred_cancel"
android:layout_alignRight="@+id/til_pass"
android:layout_alignEnd="@+id/til_pass" />
</RelativeLayout>
</android.support.design.widget.CoordinatorLayout>
对话样式:
<style name="AppTheme.TitleDialog" parent="Theme.AppCompat.Light.Dialog">
<item name="android:windowNoTitle">false</item>
</style>