具有固定标题(android)setCanceledOnTouchOutside的Scrollview不起作用

时间:2014-10-20 09:34:58

标签: android android-layout alertdialog

我有基于带有固定标题的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);
        }
    }

1 个答案:

答案 0 :(得分:0)

通过将onViewCreated中的代码替换为onStart

来解决