This question has been answered for a Dialog to my knowledg not for a DialogFrame.
I would like to remove the border shown in this picture. Sorry no pictures allowed.
This is my code:
public class SettingDialogFragment extends DialogFragment {
public SettingDialogFragment() {
// constructor
}
public Dialog onCreateDialog(Bundle savedInstanceState) {
ContextThemeWrapper context = new ContextThemeWrapper(getActivity(), 0);
context.setTheme(R.style.dialog);
AlertDialog.Builder alertDlgBldr = new AlertDialog.Builder(getActivity());
LayoutInflater inflater = getActivity().getLayoutInflater();
alertDlgBldr.setView(inflater.inflate(R.layout.dialog_theme, null));
return alertDlgBldr.create();
}
}
This is the layout:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<TextView
android:id="@+id/dialog_title"
style="@style/title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:text="@string/dialog_theme_title"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/logo_color"
android:textStyle="bold" />
<TextView
android:id="@+id/dialog_text"
style="@style/body"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@id/dialog_text"
android:layout_below="@id/dialog_title"
android:text="Demonstation how to use vector drawables to style a dialog box"
android:textAppearance="?android:attr/textAppearanceSmall"
android:textColor="@color/logo_color" />
<ImageView
android:id="@+id/dialog_image"
android:layout_width="150dp"
android:layout_height="150dp"
android:layout_below="@id/dialog_text"
android:layout_centerHorizontal="true"
android:src="@drawable/cats_dogs" />
</RelativeLayout>
This is the style
<style
name="dialog">
<!-- title encapsulating main part (backgroud) of custom alertdialog -->
<item
name="android:windowFrame">@null</item>
<!-- turn off any drawable used to draw a frame on the window -->
<item
name="android:windowBackground">@drawable/dialog_background</item>
<!-- turn off any drawable used to draw a frame on the window -->
<item
name="android:windowIsFloating">true</item>
<!-- float the window so it does not fill the screen -->
<item
name="android:windowNoTitle">true</item>
<!-- remove the title bar we make our own-->
<item
name="android:windowContentOverlay">@null</item>
<!-- remove the shadow from under the title bar -->
</style>
This the drawable
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle" >
<solid
android:color="#00000000"/>
<corners
android:radius="10dp"/>
<stroke
android:color="#FFF000"
android:width="3dp" />
</shape>
I think I tried every trick in the book now. Searched Stackoverflow for three days now, but most answers relate to Dialog not DialogFragment.
Please help me out
This code resolved the problem, finally!
public class SettingDialogFragment extends DialogFragment {
public SettingDialogFragment() {
// this empty constructor without any parameter is required by Android
// to in order to instantiate the fragment when it needs to do so.
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setStyle(STYLE_NORMAL, android.R.style.Theme_Light_Panel);
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
return super.onCreateDialog(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.dialog_theme, container, false);
return view;
}
}