Android перекрывающихся фотографий профиля просмотра - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь реализовать это представление.

enter image description here

Я попробовал это так.

<LinearLayout
            android:id="@+id/images"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:orientation="horizontal"
            android:layout_gravity="center_horizontal"
            android:gravity="center_horizontal"
            android:layout_marginTop="10dp">

            <com.mikhaellopez.circularimageview.CircularImageView
                android:id="@+id/image1"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:src="@drawable/profile_default"
                app:civ_border_width="1dp"
                app:civ_border_color="@color/white_two"
                app:civ_shadow="false"/>

            <com.mikhaellopez.circularimageview.CircularImageView
                android:id="@+id/image2"
                android:layout_width="40dp"
                android:layout_height="40dp"
                android:src="@drawable/profile_default"
                android:layout_marginStart="-10dp"
                app:civ_border_width="1dp"
                app:civ_border_color="@color/white"
                app:civ_shadow="false"/>

        </LinearLayout>

Но второекартинка остается выше первой, а я хочу наоборот.Я бы добавил изображения программно, поэтому не думаю, что смогу использовать RelativeLayout.Это возможно или уже существует библиотека Android для этого?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Это то, что я сделал для программной генерации изображений.

enter image description here

 val circleImageView1 = CircleImageView(context)
        circleImageView1.layoutParams = LinearLayout.LayoutParams(Tools.dpToPx(40), Tools.dpToPx(40))
        circleImageView1.borderWidth = 1
        circleImageView1.borderColor = ContextCompat.getColor(context, R.color.white_two)
        circleImageView1.circleBackgroundColor = ContextCompat.getColor(context, R.color.blue)
        circleImageView1.setImageResource(R.drawable.profile_default)

        val layoutParams = LinearLayout.LayoutParams(Tools.dpToPx(40), Tools.dpToPx(40))
        layoutParams.setMargins(Tools.dpToPx(-10), 0, 0, 0)

        val circleImageView2 = CircleImageView(context)
        circleImageView2.layoutParams = layoutParams
        circleImageView2.borderWidth = 1
        circleImageView2.borderColor = ContextCompat.getColor(context, R.color.white_two)
        circleImageView2.circleBackgroundColor = ContextCompat.getColor(context, R.color.red)
        circleImageView2.setImageResource(R.drawable.profile_default)

        val circleImageView3 = CircleImageView(context)
        circleImageView3.layoutParams = layoutParams
        circleImageView3.borderWidth = 1
        circleImageView3.borderColor = ContextCompat.getColor(context, R.color.white_two)
        circleImageView3.circleBackgroundColor = ContextCompat.getColor(context, R.color.green)
        circleImageView3.setImageResource(R.drawable.profile_default)

        itemView.images.addView(circleImageView1)
        itemView.images.addView(circleImageView2)
        itemView.images.addView(circleImageView3)

        itemView.images.scaleX = -1.0f

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

0 голосов
/ 22 ноября 2018

вы можете попробовать использовать android:elevation="8dp" в вашем первом коде, чтобы сделать ваше первое, а не второе представление

...