DialogFragment 在 Android 4.4.2 中顶部有蓝线
DialogFragment has blue line on top in Android 4.4.2
我的对话框片段顶部出现了一条蓝线,我无法摆脱它(我什至不知道它为什么会出现在第一位。有人知道如何摆脱它吗?
我已经在多台设备上测试过,它在以后的 Android 版本上运行良好。
我的代码:
private void setupDialog() {
final Dialog dialog = getDialog();
final Window window = dialog.getWindow();
window.setBackgroundDrawable(new ColorDrawable(0));
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tiktok="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bg">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/close_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="15dp"
android:src="@drawable/pressable_close_btn"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:id="@+id/settings_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_40"
android:text="@string/settings_allcaps"
android:textColor="@color/timekeeper_blue"
android:textSize="@dimen/sp_60"
tiktok:useBoldFont="true"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:id="@+id/account_name_instruction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/settings_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/subdomain_instruction"
android:textColor="@color/gray"
android:textSize="@dimen/sp_30"/>
<RelativeLayout
android:id="@+id/info_field"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_70"
android:layout_alignLeft="@+id/submit_btn"
android:layout_below="@id/account_name_instruction"
android:layout_centerHorizontal="true"
android:layout_marginLeft="2dp"
android:layout_marginTop="@dimen/dp_20">
<com.cyscorpions.timekeeper.customviews.TKAppCompatEditText
android:id="@+id/subdomain_textfield"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:background="@drawable/text_field_bg"
android:hint="@string/textfield_account_hint"
android:inputType="text"
android:textColor="@color/gray"
android:textColorHint="@color/gray"
android:textSize="@dimen/sp_20"
tiktok:setTextFieldFont="@string/montserrat_reg"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/subdomain_textfield"
android:text="@string/domain_suffix"
android:textColor="@color/gray"
android:textSize="@dimen/sp_25"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/error_tooltip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/settings_title">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/error_tooltip"
android:shadowColor="@color/black"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/field_required"
android:textColor="@color/white"
android:textSize="@dimen/sp_30"/>
</RelativeLayout>
<com.cyscorpions.timekeeper.customviews.TKButton
android:id="@id/submit_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/info_field"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/pressable_submit_btn"
android:text="@string/submit_allcaps"
android:textColor="@color/white"
android:textSize="@dimen/sp_30"
tiktok:hasDarkerPressedState="true"
tiktok:useDefaultDrawable="true"/>
</RelativeLayout>
</RelativeLayout>
我猜是在还有标题栏的时候出现的。我只是隐藏了标题栏,它工作得很好..
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
使用此更改:
在您的 DialogFragment 上:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(android.support.v4.app.DialogFragment.STYLE_NO_FRAME, R.style.my_dialog_style);
}
在您的风格上R.style.my_dialog_style 添加以下内容:
<item name="android:windowContentOverlay">@null</item>
var filterDialog=FilterDialog(mContext,"","","")
filterDialog.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
filterDialog.window!!.setLayout(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
filterDialog.window!!.requestFeature(Window.FEATURE_NO_TITLE)//add this line.
filterDialog.show()
添加
filterDialog.window!!.requestFeature(Window.FEATURE_NO_TITLE)
我的对话框片段顶部出现了一条蓝线,我无法摆脱它(我什至不知道它为什么会出现在第一位。有人知道如何摆脱它吗?
我已经在多台设备上测试过,它在以后的 Android 版本上运行良好。
我的代码:
private void setupDialog() {
final Dialog dialog = getDialog();
final Window window = dialog.getWindow();
window.setBackgroundDrawable(new ColorDrawable(0));
window.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
}
布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tiktok="http://schemas.android.com/apk/res-auto"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/settings_bg">
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true">
<ImageView
android:id="@+id/close_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_margin="15dp"
android:src="@drawable/pressable_close_btn"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:id="@+id/settings_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_40"
android:text="@string/settings_allcaps"
android:textColor="@color/timekeeper_blue"
android:textSize="@dimen/sp_60"
tiktok:useBoldFont="true"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:id="@+id/account_name_instruction"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/settings_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/subdomain_instruction"
android:textColor="@color/gray"
android:textSize="@dimen/sp_30"/>
<RelativeLayout
android:id="@+id/info_field"
android:layout_width="wrap_content"
android:layout_height="@dimen/dp_70"
android:layout_alignLeft="@+id/submit_btn"
android:layout_below="@id/account_name_instruction"
android:layout_centerHorizontal="true"
android:layout_marginLeft="2dp"
android:layout_marginTop="@dimen/dp_20">
<com.cyscorpions.timekeeper.customviews.TKAppCompatEditText
android:id="@+id/subdomain_textfield"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:background="@drawable/text_field_bg"
android:hint="@string/textfield_account_hint"
android:inputType="text"
android:textColor="@color/gray"
android:textColorHint="@color/gray"
android:textSize="@dimen/sp_20"
tiktok:setTextFieldFont="@string/montserrat_reg"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/subdomain_textfield"
android:text="@string/domain_suffix"
android:textColor="@color/gray"
android:textSize="@dimen/sp_25"/>
</RelativeLayout>
<RelativeLayout
android:id="@+id/error_tooltip"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_below="@id/settings_title">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/error_tooltip"
android:shadowColor="@color/black"/>
<com.cyscorpions.timekeeper.customviews.TKTextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_20"
android:text="@string/field_required"
android:textColor="@color/white"
android:textSize="@dimen/sp_30"/>
</RelativeLayout>
<com.cyscorpions.timekeeper.customviews.TKButton
android:id="@id/submit_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/info_field"
android:layout_centerHorizontal="true"
android:layout_marginTop="@dimen/dp_10"
android:background="@drawable/pressable_submit_btn"
android:text="@string/submit_allcaps"
android:textColor="@color/white"
android:textSize="@dimen/sp_30"
tiktok:hasDarkerPressedState="true"
tiktok:useDefaultDrawable="true"/>
</RelativeLayout>
</RelativeLayout>
我猜是在还有标题栏的时候出现的。我只是隐藏了标题栏,它工作得很好..
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
使用此更改:
在您的 DialogFragment 上:
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(android.support.v4.app.DialogFragment.STYLE_NO_FRAME, R.style.my_dialog_style);
}
在您的风格上R.style.my_dialog_style 添加以下内容:
<item name="android:windowContentOverlay">@null</item>
var filterDialog=FilterDialog(mContext,"","","")
filterDialog.window!!.setBackgroundDrawable(ColorDrawable(Color.TRANSPARENT))
filterDialog.window!!.setLayout(ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)
filterDialog.window!!.requestFeature(Window.FEATURE_NO_TITLE)//add this line.
filterDialog.show()
添加
filterDialog.window!!.requestFeature(Window.FEATURE_NO_TITLE)