需要像这样的透明背景

时间:2016-12-28 07:59:05

标签: android android-layout dialog transparent

需要制作这样的布局。 下面是一个警告框,其中包含一个透明背景,其中包含微调器和下面的按钮。

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();
}

3 个答案:

答案 0 :(得分:1)

这样做

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

答案 1 :(得分:0)

试试这个: -

Dialog dialog1 = new Dialog(Main3Activity.this);

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

                dialog1.show();

答案 2 :(得分:0)

您可以通过在XML中添加此代码来设置任何布局或任何视图或任何组件的透明背景

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