2013-08-27 4 views
0

Hi_i хотите создать какой-то диалог (который я понимаю, что лучше для меня вариант), которые состоят так, е изображение и изображение кнопки на этом изображении/ Диалог дер позвонит методом onClick Отвод рекомендуют мне самый короткий вариант реализации (на самом деле о визуальном представлении он должен быть следующим: после нажатия на макете кнопки стало мало темного или серого цвета, а в центре макета создаётся мое изображение с кнопкой) Если Dialog не полезен в этом случае, рекомендуем мне что-то ещеКак показать диалог, как картина с ImageButton

+0

Возможно, некоторые результаты исследований? Люди начнут бросать «Что ты пробовал?» Вы должны быть более конкретными в SO. Я бы использовал диалог DialogFragment – gunar

ответ

1

Постарайтесь вот так:

Button d = (Button) findViewById(R.id.btnId); 
    d.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      Fragment1 dialogFragment = Fragment1.newInstance(null); 
      dialogFragment.show(getFragmentManager(), "dialog"); 
     } 
    }); 

И создать класс Fragment1, как это в вас файл .java, как это:

public static class Fragment1 extends DialogFragment { 

    static Fragment1 newInstance(String title) { 
     Fragment1 fragment = new Fragment1(); 
     Bundle args = new Bundle(); 
     args.putString("title", title); 
     fragment.setArguments(args); 
     return fragment; 
    } 

    @Override 
    public Dialog onCreateDialog(Bundle savedInstanceState) { 
     final Dialog dialog = super.onCreateDialog(savedInstanceState); 
     dialog.requestWindowFeature(Window.FEATURE_NO_TITLE); 
     LayoutInflater adbInflater = LayoutInflater.from(getActivity()); 
     View eulaLayout = adbInflater.inflate(R.layout.your_xml, null); 
     Button btn_OK = (Button) eulaLayout.findViewById(R.id.BTNok); 
     dialog.setContentView(eulaLayout); 
     btn_OK.setOnClickListener(new View.OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       dialog.dismiss(); 
      } 
     }); 
     return dialog; 
    } 
} 

your_xml ваш файл XML, чтобы показать диалоговое окно.

Edited

В своем коде вы должны импортировать как это:

import android.support.v4.app.DialogFragment; 

Изменить это:

import android.app.DialogFragment; 

И, наконец, как это требуется, чтобы уровень апи выше это произойдет через некоторую ошибку. Поэтому вы должны сделать chnge в своем манифесте следующим образом:

<uses-sdk 
    android:minSdkVersion="11" 
    android:targetSdkVersion="17" /> 

Это может вам помочь.

+0

dialogFragment.show (getFragmentManager(), «dialog»); Здесь какая-то ошибка = ( –

+0

Что ошибка вы получаете? – Avijit

+0

getFragmentManager() Eclipse, предложить мне создать этот метод, потому что понятно –

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