2015-09-17 4 views
0

У меня возникла проблема с обработкой фрагмента диалогового окна. Благодарю вас!Touchable на кнопках под фрагментом диалога - андроид

Мой код, как показано ниже:

Основная деятельность:

public class MainActivity extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     UnderlayerDialogFragment underlayerDialogFragment = new UnderlayerDialogFragment(); 
     underlayerDialogFragment.show(getFragmentManager(), ""); 
    } 
} 

DialogFragment:

public class UnderlayerDialogFragment extends DialogFragment{ 
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setStyle(DialogFragment.STYLE_NO_TITLE, android.R.style.Theme_Translucent_NoTitleBar_Fullscreen); 
    } 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view = inflater.inflate(R.layout.dialog_fragment_underlayer, container, false); 
     return view; 
    } 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     Dialog dialog = super.onCreateDialog(savedInstanceState); 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     return dialog; 
    } 
} 

Основная раскладка:

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    tools:context=".MainActivity"> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_vertical|center_horizontal" 
     android:text="Button on main layout"/> 
</LinearLayout> 

диалог макет фрагмента:

<?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="match_parent" 
    android:background="@color/background_material_dark" 
    android:alpha="0.5"> 
    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:text="Button on DialogFragment layout"/> 
</RelativeLayout> 

Ниже мой экран после развертывания:

enter image description here

Я хочу:

Я могу коснуться кнопки «кнопки на основной раскладке» и «Кнопка в диалоговом окне Фрагмент макет "

проблема:

Я могу коснуться кнопки «Button on Dialog Fragment layout», но я не могу коснуться кнопки «Button on main layout».

Пожалуйста, помогите мне !!!

Спасибо!

+1

Просто быстро идеей, возможно, фрагмент находится в передней части кнопки, так что touchhevent обрабатывается фрагментом, а не кнопкой в ​​основном макете, потому что ваш фрагмент занимает все пространство с родительским атрибутом соответствия. – user2122552

+0

Я думаю, что могут быть способы сделать события для макета под фрагментом диалога. Но я еще не узнал. Поэтому я благодарю экспертов здесь. –

+0

Почему вы не помещаете кнопку mainlayout внизу и фрагмент выше? – user2122552

ответ

0

Вместо использование андроида: layout_height = «match_parent» как из основного и фрагмента макета попробуйте использовать wrap_content или тест с фиксированным йром

+0

Спасибо за вашу идею, но я хочу, чтобы этот макет диалога соответствовал родительскому. Есть ли способы решить эту проблему? –

Смежные вопросы