2015-12-16 4 views
4

Всплывающее окно в android?

Я новичок в андроиде развития, поэтому мне нужно знать, что является идеальным и эффективным способом создания всплывающих окон, как это в Android, в основном прошивке это было легко сделать всплывающие окна и обработками, но, как начать с этого используя макет или что-то в этом роде, напишите мне ссылку или руководство, чтобы сделать popover in android открытым для Activity.

+0

Обратитесь к https://stackoverflow.com/questions/2115758/how-to-display-alert-dialog-in-android. – hypd09

+0

Это может помочь взглянуть на это по идеям: https://www.google.com/design/spec/components/dialogs.html#dialogs-simple-dialogs –

ответ

1
import android.app.*; 
import android.os.Bundle; 
import android.view.Gravity; 
import android.view.View; 
import android.view.View.OnClickListener; 
import android.view.ViewGroup.LayoutParams; 
import android.widget.*; 

public class ShowPopUp extends Activity { 

PopupWindow popUp; 
LinearLayout layout; 
TextView tv; 
LayoutParams params; 
LinearLayout mainLayout; 
Button but; 
boolean click = true; 


public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    popUp = new PopupWindow(this); 
    layout = new LinearLayout(this); 
    mainLayout = new LinearLayout(this); 
    tv = new TextView(this); 
    but = new Button(this); 
    but.setText("Click Me"); 
    but.setOnClickListener(new OnClickListener() { 

     public void onClick(View v) { 
      if (click) { 
       popUp.showAtLocation(mainLayout, Gravity.BOTTOM, 10, 10); 
       popUp.update(50, 50, 300, 80); 
       click = false; 
      } else { 
       popUp.dismiss(); 
       click = true; 
      } 
     } 

    }); 
    params = new LayoutParams(LayoutParams.WRAP_CONTENT, 
      LayoutParams.WRAP_CONTENT); 
    layout.setOrientation(LinearLayout.VERTICAL); 
    tv.setText("Hi this is a sample text for popup window"); 
    layout.addView(tv, params); 
    popUp.setContentView(layout); 
    // popUp.showAtLocation(layout, Gravity.BOTTOM, 10, 10); 
    mainLayout.addView(but, params); 
    setContentView(mainLayout); 
     } 
    } 
+0

Вы можете использовать вышеприведенный код для создания всплывающего окна. –

4
private PopupWindow pwindo; 
private void initiatePopupWindow() { 
     try { 
// We need to get the instance of the LayoutInflater 
      LayoutInflater inflater = (LayoutInflater) AndroidAudioPlayer.this 
        .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
      View layout = inflater.inflate(R.layout.your_layout_Screen, 
        (ViewGroup) findViewById(R.id.popup_element)); 
      pwindo = new PopupWindow(layout, 400, 600, true); 
      pwindo.showAtLocation(layout, Gravity.CENTER, 0, 0); 

      Button btnClosePopup = (Button) layout.findViewById(R.id.button); 
      btnClosePopup.setOnClickListener(new View.OnClickListener() { 
       @Override 
       public void onClick(View v) { 
        pwindo.dismiss(); 
       } 
      }); 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 
    } 

Для более модно и хорошо выглядящего Уведомления диалоговых окон, взглянуть на эту библиотеке Pedant-х Sweet alert dialogs

+0

Пожалуйста, подтвердите свое использование бесплатно или нет. –

+0

Да, это бесплатно, его лицензия под лицензией MIT https://github.com/pedant/sweet-alert-dialog#license – Veer3383

+0

okkk thanks dear. –

1

Вы можете использовать PopupWindow.

Она определяется как окно, которое появляется перед вашей активности на экран после того, как происходит или определенные сроки и условия совпавшие определенное событие. Это окно обычно используется для отображения информации о и предоставления элементов управления для выполнения операций. Всплывающее окно также имеет свой собственный графический интерфейс, который должен быть установлен в виде содержимого.

Полная демо PopupWindow in Android

private PopupWindow pw; 
private void initiatePopupWindow() { 
    try { 
     //We need to get the instance of the LayoutInflater, use the context of this activity 
     LayoutInflater inflater = (LayoutInflater) ConfirmActivity.this 
       .getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     //Inflate the view from a predefined XML layout 
     View layout = inflater.inflate(R.layout.popup_layout, 
       (ViewGroup) findViewById(R.id.popup_element)); 
     // create a 300px width and 470px height PopupWindow 
     pw = new PopupWindow(layout, 300, 470, true); 
     // display the popup in the center 
     pw.showAtLocation(layout, Gravity.CENTER, 0, 0); 

     mResultText = (TextView) layout.findViewById(R.id.server_status_text); 
     Button cancelButton = (Button) layout.findViewById(R.id.end_data_send_button); 
     makeBlack(cancelButton); 
     cancelButton.setOnClickListener(cancel_button_click_listener); 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

private OnClickListener cancel_button_click_listener = new OnClickListener() { 
    public void onClick(View v) { 
     pw.dismiss(); 
    } 
}; 
0

Здесь s может помочь вам: Создать один XML имя ccc.xml в папке макета:

<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="match_parent" 
android:layout_height="match_parent" 
android:background="#ffffee" 
android:orientation="vertical" 
android:theme="@style/AppTheme.NoActionBar" 
> 


<ImageView 
    android:layout_width="60dp" 
    android:layout_marginTop="100dp" 
    android:layout_height="60dp" 
    android:layout_gravity="center_horizontal" 
    android:src="@drawable/check" 
    /> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_marginTop="10dp" 
    android:layout_height="wrap_content" 
    android:text="Invitaton Sent Sucessfully" 
    android:layout_gravity="center_horizontal" 
    android:textStyle="bold" 
    android:textSize="15dp" 
    /></LinearLayout> 

Тогда напишите это, где вы хотите :

b.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      Dialog d=new Dialog(MainActivity.this); 
      d.setContentView(R.layout.ccc); 
      d.show(); 



     } 
    }); 
Смежные вопросы