2016-12-28 9 views
-2

Нужно сделать такой макет. Ниже приведено окно предупреждения с прозрачным фоном, содержащим счетчик и кнопку ниже.Нужны прозрачные фона, подобные этому

enter image description here

я пробовал это так далеко.

это файл макета.

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:orientation="vertical" android:layout_width="wrap_content" 
android:layout_height="wrap_content" 

> 


<LinearLayout 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:orientation="vertical" 
    android:layout_alignParentTop="true" 
    android:layout_centerHorizontal="true" 
    android:background="#fff" 
    android:paddingBottom="50dp"> 

<Spinner 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/selectCity_xspn" 
    android:layout_alignParentTop="true" 
    android:layout_alignParentEnd="true" 
    android:layout_marginEnd="6dp" 
    android:layout_marginTop="75dp" /> 

    <Spinner 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:layout_below="@+id/selectCity_xspn" 
     android:layout_alignParentStart="true" 
     android:layout_marginTop="70dp" 
     android:id="@+id/selectCtgry_xspn" /> 

<Button 
    android:text="Button" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:id="@+id/button2" 
    android:layout_marginTop="300dp" 


    android:layout_alignParentEnd="true" /> 

Это класс Java, где я уже использовал прозрачный вариант во многих местах, но он не работает.

доступ к функции внизу в следующей кнопке.

customdialog_btn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 


      onCreateDialog2().show(); 


     } 
    }); 

public Dialog onCreateDialog2() { 
    // Use the Builder class for convenient dialog construction 
    AlertDialog.Builder builder = new AlertDialog.Builder(Registeration.this); 



    View dialog_view = getLayoutInflater().inflate(R.layout.custom_dialog, null); 

    //dialog_view.setBackgroundResource(android.R.color.transparent); 
    builder.setView(dialog_view); 

    selectCity_spn=(Spinner)dialog_view.findViewById(R.id.selectCity_xspn); 
    selectCtgry_spn=(Spinner)dialog_view.findViewById(R.id.selectCtgry_xspn); 


    ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(this.getBaseContext(), R.array.selectCity_spn, android.R.layout.simple_spinner_dropdown_item); 
    adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    assert selectCity_spn != null; 
    selectCity_spn.setAdapter(adapter); 

    ArrayAdapter<CharSequence> adapter2 = ArrayAdapter.createFromResource(this.getBaseContext(), R.array.selectCtgry_spn, android.R.layout.simple_spinner_dropdown_item); 
    adapter2.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); 
    assert selectCtgry_spn != null; 
    selectCtgry_spn.setAdapter(adapter2); 

    View v = getWindow().getDecorView(); 
    v.setBackgroundResource(android.R.color.transparent); 
    return builder.create(); 
} 
+4

посмотреть Диалог с прозрачным фоном в Android http://stackoverflow.com/questions/10795078/dialog-with-transparent-background-in-android –

ответ

1

Это будет делать

Dialog dialog = builder.create(); 
dialog.getWindow().setBackgroundDrawable(new ColorDrawable(android.graphics.Color.TRANSPARENT)); 
return dialog; 
+0

где в коде я его поместил, нет переменной, называемой 'dialog' .! –

+0

в нижней части метода onCreateDialog2(). просто замените return builder.create() на них. –

+1

спасибо спасибо. !! ты классный.! –

0

Попробуйте это: -

Dialog dialog1 = new Dialog(Main3Activity.this); 

       dialog1.setCancelable(true); 
       dialog1.setContentView(view1); 

       dialog1.show(); 
0

вы можете установить фон прозрачный любого макета или любого вида или любого компонента путем добавления этого кода в XML

android:background="@android:color/transparent"