本文介绍了DialogFragment去除黑边的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我看到也的和其他一些人,但没有真正帮助了我。
I saw this question and also this one and some others, but nothing really helped me.
我建立一个快速的行动 DialogFragment
我的列表视图,并试图根据的。
I'm building a quick action DialogFragment
for my list view and trying to set a custom view to it according to the android dev guide.
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/white" >
<ImageView
android:id="@+id/quick_action_image"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_margin="20dp"
android:scaleType="fitXY"
android:src="@drawable/windows1" />
<TextView
android:id="@+id/quick_action_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignTop="@+id/quick_action_image"
android:layout_toRightOf="@+id/quick_action_image"
android:ellipsize="end"
android:singleLine="true"
android:text="Lilly"
android:textColor="#585858"
android:textSize="16sp" />
<TextView
android:id="@+id/quick_action_activity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/quick_action_image"
android:layout_toRightOf="@+id/quick_action_image"
android:text="Updated 4 minutes ago"
android:textColor="#a3a3a3"
android:textSize="15sp" />
<ImageButton
android:id="@+id/popup_grid_leave"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignParentLeft="true"
android:layout_below="@+id/quick_action_activity"
android:layout_margin="20dp"
android:layout_marginTop="30dp"
android:background="@color/transperent"
android:src="@drawable/ic_action_leave" />
<ImageButton
android:id="@+id/popup_grid_silence"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/popup_grid_leave"
android:layout_alignTop="@+id/popup_grid_leave"
android:layout_centerHorizontal="true"
android:background="@color/transperent"
android:src="@drawable/ic_action_silence" />
<ImageButton
android:id="@+id/popup_grid_mark_as_read"
android:layout_width="50dp"
android:layout_height="50dp"
android:layout_alignBottom="@+id/popup_grid_leave"
android:layout_alignParentRight="true"
android:layout_alignTop="@+id/popup_grid_leave"
android:layout_marginRight="15dp"
android:background="@color/transperent"
android:src="@drawable/ic_action_mark_as_read" />
</RelativeLayout>
QuickActionFragment.java
public class QuickActionFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
View v = LayoutInflater.from(mContext).inflate(
R.layout.view_quick_action, null, false);
// SET ALL THE VIEWS
builder.setTitle(null);
AlertDialog dialog = builder.create();
dialog.setView(v, 0, 0, 0, 0);
// this line didn't change anything
// dialog.getWindow().setBackgroundDrawable(new ColorDrawable(0));
return dialog;
}
}
这一切后,当我运行 dialogFragment.show(getSupportedFragmentManager())
我仍然得到的图像中显示的黑色边框:
after all this, when I run dialogFragment.show(getSupportedFragmentManager())
I still get the black border as shown in the image:
这是如何解决这一问题的任何想法?
any thoughts on how to fix this?
推荐答案
尝试下面code:
public class QuickActionFragment extends DialogFragment {
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
Dialog m_dialog = new Dialog(QuickActionFragment.this, R.style.Dialog_No_Border);
LayoutInflater m_inflater = LayoutInflater.from(CustomDialogActivity.this);
View v = LayoutInflater.from(mContext).inflate(R.layout.view_quick_action, null, false);
// SET ALL THE VIEWS
m_dialog.setTitle(null);
m_dialog.setContentView(m_view);
m_dialog.show();
return dialog;
}
}
添加 Dialog_No_Border
的风格在你的 RES /价值/ style.xml
文件。
<style name="Dialog_No_Border">
<item name="android:windowIsFloating">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
此风格的原因研究
来干净后删除
This style causes R
to be deleted after a clean
这篇关于DialogFragment去除黑边的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!