我正试图将DialogFragment
完全放在手机的右侧。奇怪的是它之前有用,但我不知道我到底做了什么,但我知道这是可能的。
正如您在图片上看到的那样,DialogFragment
和屏幕右侧之间有一点空间。我根本不想要那个空间。片段必须完全在右侧。
我的DialogFragment类:
public class FontFragment extends DialogFragment {
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.fontmenu, container);
recyclerView = (RecyclerView) v.findViewById(R.id.fontmenuRcv);
recyclerView.setHasFixedSize(true);
FontMenuAdapter fontsAdapter = new FontMenuAdapter(Font.initFonts(getContext()), editText, getContext(), editText.getSelectionStart(), editText.getSelectionEnd(), this);
recyclerView.setAdapter(fontsAdapter);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(getActivity());
linearLayoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(linearLayoutManager);
return v;
}
@Override
public void onResume() {
getDialog().getWindow().setGravity(Gravity.RIGHT|Gravity.BOTTOM);
super.onResume();
}
}
对话片段的布局:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.RecyclerView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/fontmenuRcv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scrollbars="vertical">
</android.support.v7.widget.RecyclerView>
答案 0 :(得分:1)
我使用接受的答案中的这个简单解决方案解决了我的问题:https://stackoverflow.com/a/18554868/5366495
<style name="CustomDialog" parent="Theme.AppCompat.Light.NoActionBar" >
<item name="android:windowBackground">@color/white</item>
<item name="android:windowIsFloating">true</item>
</style>