2016-01-13 3 views
-6

Я пытаюсь создать всплывающее окно с несколькими RelativeLayout, несколькими TextView и одним Button.Android - Создание и дизайн всплывающих окон

Вот всплывающее окно:

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/popup_handphone_MainLayout" 
    android:layout_width="match_parent" android:layout_height="match_parent"> 

    <RelativeLayout 
     android:id="@+id/popup_handphone_Wrapper" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content"> 

     <TextView 
      android:id="@+id/popup_handphone_text" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="@string/popupPhoneMessage"/> 

     <RelativeLayout 
      android:id="@+id/popup_handphone_functionalities" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:layout_below="@+id/popup_handphone_text" 
      android:layout_marginTop="15dp"> 

      <EditText 
       android:id="@+id/popup_handphone_phoneNumber" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" /> 

      <EditText 
       android:id="@+id/popup_handphone_phoneNumberConfirm" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/popup_handphone_phoneNumber" 
       android:layout_marginTop="10dp"/> 

      <Button 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:layout_below="@+id/popup_handphone_phoneNumberConfirm" 
       android:layout_marginTop="20dp" 
       android:layout_marginBottom="40dp"/> 

     </RelativeLayout> 

    </RelativeLayout> 

</RelativeLayout> 

Как отобразить его на Activity? Пробовал с помощью LayoutInflater, но получил сообщение об ошибке сказав, что нашел View вместо ..

Код:

RelativeLayout mainLayout = (RelativeLayout)findViewById(R.id.popup_handphone_MainLayout); 

     LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
     RelativeLayout popupLayoutInflater = inflater.inflate(R.layout.popup_handphone, mainLayout); 

//This part here said it needs android.widget.RelativeLayout, but found android.view.View 

     popupLayout = (RelativeLayout)findViewById(R.layout.popup_handphone); 

Popup Image

Вот всплывающий я хотел. Серовым является всплывающее окно, содержащее два TextViews и один Button

Удалось создать всплывающее окно с использованием этого tutorial. Но есть черный фон вокруг всплывающего окна Как это

Black popup

Вот обновленный код onclick на TextView

View.OnClickListener phoneReinputHandler = new View.OnClickListener() { 

     public void onClick(View v) { 
      Intent intent = new Intent(SignupStepTwoActivity.this, PopupHandphone.class); 
      backDim = (RelativeLayout) findViewById(R.id.bac_dim_layout); 
      //backDim.setVisibility(View.VISIBLE); 
      startActivity(intent); 

    }; 

Как удалить черную штуковину?

+0

ваш код и LogCat является обязательным для одного ответа .. – SSH

+0

Йуп добавил он, забыл добавить его –

+0

вы пробовали сделать фон родительского RelativeLayout как прозрачный? – Nilabja

ответ

0

видеть это и делать изменения в соответствии с вашими потребностями

public void showDialog() 
{ 
    final Dialog dialog = new Dialog(mContext, android.R.style.ThemeOverlay_Material);/*choose your theme*/ 
    dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT));/*choose your style*/ 
    dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);/*to remove title*/ 
     dialog.getWindow().setLayout(WindowManager.LayoutParams.MATCH_PARENT, WindowManager.LayoutParams.MATCH_PARENT); //Optional 
    dialog.setContentView(R.layout.dialog_dash_wish);/*enter your xml layout name*/ 
    //Any other code you want in your constructor 

    TextView popup_handphone_text = (TextView) dialog.findViewById(R.id.popup_handphone_text); 
    EditText popup_handphone_phoneNumber = (EditText) dialog.findViewById(R.id.popup_handphone_phoneNumber); 

    EditText popup_handphone_phoneNumberConfirm = (EditText) dialog.findViewById(R.id.popup_handphone_phoneNumberConfirm); 

    Button button = (Button) dialog.findViewById(R.id.bt_id); 
    button .setOnClickListener(new OnClickListener() 
    { 
     @Override 
     public void onClick(View arg0) 
     { 
      dialog.dismiss(); 
     } 
    }); 
    dialog.show(); 
} 
+0

Умм, извините, это для 'Dialog'? Мне нужно 'PopupWindow'. Может ли' AlertDialog' использоваться как 'PopupWindow'? –

+0

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

+0

Я добавил графическое представление в своем исходном коде .. –

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