Отображение изображения в другом положении и размере в относительной компоновке - PullRequest
0 голосов
/ 14 марта 2019

Я могу просмотреть рециклированное изображение в относительной компоновке, но на нем отображаются изображения, такие как фиксированная строка таблицы. Макет не имеет внешнего вида в дизайне.Я смотрю что-то вроде каждого изображения в разном размере и в другом положении.Любое предложение приветствуется.Я добавил макет и класс адаптера ниже.

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    >

    <android.support.v7.widget.CardView
        android:layout_width="372dp"
        android:layout_height="161dp"
        android:layout_marginStart="8dp"
        android:layout_marginLeft="8dp"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:layout_marginRight="8dp"
        android:layout_marginBottom="8dp"
        app:cardBackgroundColor="@color/light_gray"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="301dp"
            android:background="@color/white">

            <ImageView
                android:id="@+id/Image"
                android:layout_width="349dp"
                android:layout_height="109dp"
                android:layout_below="@+id/Name"
                android:layout_alignEnd="@+id/Name"
                android:layout_alignParentBottom="true"
                android:layout_marginTop="10dp"
                android:layout_marginEnd="-185dp"
                android:layout_marginBottom="153dp"
                android:scaleType="center"
                app:srcCompat="@drawable/ic_launcher_background"
                android:layout_marginRight="-185dp"
                android:layout_alignRight="@+id/Name" />
        </RelativeLayout>
    </android.support.v7.widget.CardView>
</android.support.constraint.ConstraintLayout>

Адаптер

{
      override fun getItemCount(): Int
    {
        return list.size
    }
    override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder
    {
        val view= LayoutInflater.from(parent.context).inflate(R.layout.list_row_food_one,parent,false)
        return ViewHolder(view)
    }
    override fun onBindViewHolder(holder: ViewHolder, position: Int)
    {
        holder.bindItem(list[position],fragment)
    }
    class ViewHolder(itemView: View): RecyclerView.ViewHolder(itemView)
    {
        fun bindItem(test:TestDetail?,fragment: FragmentOne)=with(itemView)
        {
            var testImage: ImageView =itemView.findViewById(R.id.testImage)
            Picasso.get().load(test!!.itemImage).into(testImage)
        }
    }
}

1 Ответ

0 голосов
/ 14 марта 2019

Используйте Линейный макет он соответствует вашему внешнему виду и дизайну, потому что он имеет фиксированную позицию на экране, но в Относительном макете он может относиться к другим компонентам, поэтому его положение не является фиксированным.

Итак, я предпочитаю использовать Linear Layout вместо Relative Layout.

Надеюсь, это поможет вам!

Спасибо.

...