Tôi có một AlertDialog tùy chỉnh và tôi muốn làm cho nền của nó hoàn toàn trong suốt. Thông thường để thực hiện một hoạt động hoàn toàn trong suốt, tôi làm như sauandroid AlertDialog với nền trong suốt
bộ nền để
#00000000
trong cách bố trí xmltrong manifest thiết
android:theme="@android:style/Theme.Holo.Dialog"
cho hoạt động này.In onTạo thêm
getWindow().setBackgroundDrawable(new ColorDrawable(0))
.Nhưng bây giờ tôi đang đối phó với một hộp thoại, làm thế nào để tôi thực hiện tính minh bạch?
Đây là mã thoại:
LayoutInflater inflater = getLayoutInflater();
View dialoglayout = inflater.inflate(R.layout.activity_mine1,
(ViewGroup) findViewById(R.layout.mine1));
mine1 = new AlertDialog.Builder(this);
mine1.setView(dialoglayout);
mine1.show();
Và xml của tôi chỉ là một RelativeLayout với tầm con khác:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="#00000000" >
...
</RelativeLayout>
Lưu ý: Tôi đã xem xét một số bài viết tương tự ở đây , nhưng chúng dường như không hoạt động.
Lý do thực sự của tôi là nền mà tôi thực sự muốn sử dụng, không phải là hình chữ nhật. Tôi làm cho nó hoạt động trong một hoạt động. Nhưng tôi muốn sử dụng một hộp thoại thay thế.
EDIT:
Tiếp tục chơi xung quanh, tôi có điều này style.xml
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:android="http://schemas.android.com/apk/res/android">
<style name="CustomDialog" parent="android:Theme.Holo.Dialog">
<item name="android:windowIsTranslucent">true</item>
<item name="android:windowBackground">@android:color/transparent</item>
</style>
</resources>
Mà tôi thêm bao
new AlertDialog.Builder(this, R.style.CustomDialog)
attr 'dialogBackground' không được nhận dạng bởi nhật thực. –