Перекрывающееся круговое изображение в пользовательском представлении - PullRequest
0 голосов
/ 13 февраля 2020

Я пытаюсь создать пользовательский вид, в котором я хочу, чтобы изображение профиля частично перекрывало мой вид. Но у меня белый фон, и я не понимаю, как от него избавиться. Установка фона как прозрачного для родительской группы просмотра не помогает.

Что я хочу .... enter image description here

Что я получаю .... enter image description here

Мой XML код

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:background="#00000000"
android:orientation="vertical">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="15dp">

    <de.hdodenhof.circleimageview.CircleImageView
        android:layout_width="90dp"
        android:layout_height="90dp"
        android:layout_marginTop="20dp"
        android:layout_centerHorizontal="true"
        android:elevation="1dp"
        android:src="@drawable/test_image" />

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <androidx.cardview.widget.CardView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="85dp"
            app:cardBackgroundColor="#5E5959"
            app:contentPaddingBottom="15dp"
            app:contentPaddingLeft="15dp"
            app:contentPaddingRight="15dp"
            app:contentPaddingTop="15dp">
            <LinearLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:orientation="vertical"
                android:padding="8dp">
                <com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/mobileNumber_Layout"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:counterEnabled="true"
                    app:counterMaxLength="10">

                    <com.google.android.material.textfield.TextInputEditText
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:hint="Mobile Number"
                        android:inputType="number"
                        android:maxLength="10" />

                </com.google.android.material.textfield.TextInputLayout>

                <com.google.android.material.textfield.TextInputLayout
                    android:id="@+id/password_Layout"
                    style="@style/Widget.MaterialComponents.TextInputLayout.OutlinedBox"
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    app:passwordToggleEnabled="true">
                    <com.google.android.material.textfield.TextInputEditText
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:hint="Password"
                        android:inputType="textPassword" />
               </com.google.android.material.textfield.TextInputLayout>
            </LinearLayout>
        </androidx.cardview.widget.CardView>
    </LinearLayout>
</RelativeLayout>

Код, используемый для отображения компонента

            val dialogBuilder = AlertDialog.Builder(this)
            val view: View = 
            layoutInflater.inflate(R.layout.signin_layout, null)
            dialogBuilder.setView(view)
            val alert = dialogBuilder.create()
            alert.show()

1 Ответ

1 голос
/ 13 февраля 2020

Измените инициализацию своего диалога и задайте ему тему

val dialogBuilder = AlertDialog.Builder(this,R.style.MyDialogTheme)

в стилях . xml

<style name="MyDialogTheme" parent="Theme.AppCompat.Light.Dialog.Alert">
    <item name="android:windowBackground">@android:color/transparent</item>
</style>
...