我有基于带有固定标题的scrollview的对话框。我需要在外面设置取消,但它不起作用。 (当我只使用没有标题的ScrollView时,setCanceledOnTouchOutside工作正常)
对话框布局:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="0dp"
android:paddingBottom="0dp">
<FrameLayout
android:id="@+id/shareFrameLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="0dp">
///fixed header
...
</FrameLayout>
<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/SharePostScrollView"
android:layout_below="@+id/shareFrameLayout">
...
</ScrollView>
</RelativeLayout>
setCanceledOnTouchOutside:
(setLayout(275, 350)
也不起作用)
@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
if (getDialog() != null) {
getDialog().setCancelable(true);
getDialog().setCanceledOnTouchOutside(true);
getDialog().getWindow().setLayout(275, 350);
}
}
答案 0 :(得分:0)
通过将onViewCreated中的代码替换为onStart
来解决