在相对布局中以不同的位置和大小显示图像

时间:2019-03-14 06:32:53

标签: android android-relativelayout android-design-library androiddesignsupport

我能够以相对的布局查看回收视图图像,但其显示的图像类似于固定表格行。布局在设计上没有外观。我正在寻找不同尺寸和位置的图像。任何建议表示赞赏。 我在下面添加了布局和适配器类。

<?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 :(得分:0)

使用 Linear Layout (线性布局),它会根据您的外观设计,因为它在屏幕上具有固定的位置,但是在相对布局中它可以相对于其他组件,因此它的位置不固定。 / p>

因此,我更喜欢使用线性布局而不是相对布局。

希望这对您有帮助!

谢谢。