Imageview没有采取cardview的角半径

时间:2018-04-30 06:43:27

标签: java android xml user-interface

您好我正在开发一个应用程序,其中我在cardview中使用imageview但我的问题是imageview不知道是否将角半径应用于cardview 请看下面的图片 enter image description here 我试过做不同的事情,但不知道问题在哪里,如果有人可以指导我 我的xml

<android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:card_view="http://schemas.android.com/tools"
    android:orientation="vertical"
    android:layout_width="100dp"
    android:layout_height="wrap_content"
    android:layout_margin="4dp"
    android:id="@+id/cardview2"
    app:cardCornerRadius="25dp"
    card_view:cardPreventCornerOverlap="false"
    >

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

        <ImageView
            android:layout_width="88dp"
            android:layout_height="88dp"
            android:id="@+id/imageView"
            android:scaleX="1.2"
            android:scaleType="fitXY"
            android:scaleY="1.2"
            android:src="@drawable/club1"
            android:background="@drawable/corner_radius"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="40dp"
            android:id="@+id/nameTextView"
            android:layout_marginLeft="4dp"
            android:layout_marginStart="4dp"
            android:layout_marginTop="16dp"
            android:maxLines="2"
            android:text="Item"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"/>

        <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="4dp"
            android:id="@+id/ratingTextView"
            android:layout_marginStart="4dp"
            android:drawableEnd="@color/White"
            android:drawableRight="@color/White"
            android:drawablePadding="2dp"
            android:text="4,5"
            android:gravity="center"
            android:textAppearance="@style/TextAppearance.AppCompat.Body1"
            android:textSize="12sp"/>



    </LinearLayout>

</android.support.v7.widget.CardView>

5 个答案:

答案 0 :(得分:1)

这里是图片。记住不要将CardView作为主要布局。

enter image description here

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

<android.support.v7.widget.CardView
    android:layout_width="match_parent"
    app:cardUseCompatPadding="true"
    android:elevation="0dp"
    app:cardCornerRadius="5dp"
    android:layout_height="wrap_content">

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


        <ImageView
            android:id="@+id/iv_suvichar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:src="@drawable/placeholder" />

        <TextView
            android:id="@+id/tv_suvichar_title"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="Title"
            android:padding="5dp"
            android:textColor="@color/black"
            android:textSize="@dimen/normal_text_size" />

    </LinearLayout>

</android.support.v7.widget.CardView>

答案 1 :(得分:1)

尝试将“线性布局”替换为“相对布局”。 之后,设置最后一个文本视图的重心(center_horizo​​ntal)。

答案 2 :(得分:0)

please find 尝试这种方式:

  <?xml version="1.0" encoding="utf-8"?>
  <android.support.v7.widget.CardView
  xmlns:android="http://schemas.android.com/apk/res/android"
  xmlns:cardview="http://schemas.android.com/apk/res-auto"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:padding="@dimen/_5sdp"
  android:layout_marginTop="@dimen/_5sdp"
  android:layout_marginLeft="@dimen/_5sdp"
  android:layout_marginRight="@dimen/_5sdp"
  android:layout_marginBottom="5dp"
  cardview:cardCornerRadius="@dimen/_3sdp"
  cardview:cardElevation="@dimen/_3sdp"
  cardview:cardUseCompatPadding="true">

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/thumbnail"
        android:layout_width="match_parent"
        android:layout_height="@dimen/_180sdp"
        android:layout_alignParentTop="true"
        android:scaleType="centerCrop"
        android:src="@drawable/placeholder"/>



    <RelativeLayout
        android:padding="@dimen/_5sdp"
        android:id="@+id/rlMiddle"
        android:layout_below="@+id/thumbnail"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">


        <TextView
            android:id="@+id/txtPrescription"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginLeft="@dimen/_10sdp"
            android:maxLines="3"
            android:paddingTop="8dp"
            android:textAppearance="@style/TextAppearance.AppCompat.Headline"
            android:textSize="@dimen/_16sdp"
            android:text="Demo"
            android:textStyle="bold"
           />
      </RelativeLayout>
    </RelativeLayout>
 </android.support.v7.widget.CardView>

答案 3 :(得分:0)

您可以使用RoundedImageView

将它放在build.gradle

compile 'com.makeramen:roundedimageview:2.3.0'

使用它:

<com.makeramen.roundedimageview.RoundedImageView
    android:layout_width="100dp"
    android:layout_height="100dp"
    android:background="@android:color/transparent"
    android:scaleType="centerCrop"
    app:riv_corner_radius="5dp"/>

答案 4 :(得分:0)

只需在xml中使用此代码,然后在运行代码后查看结果:

<android.support.v7.widget.CardView
    android:layout_marginTop="100dp"
    android:layout_gravity="center_horizontal"
    app:cardCornerRadius="20dp"
    android:id="@+id/cv"
    android:clipChildren="true"
    android:layout_width="100dp"
    android:layout_height="wrap_content">

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

    <ImageView
        android:scaleType="centerCrop"
        android:src="@drawable/recipe"
        android:layout_width="match_parent"
        android:layout_height="100dp" />

        <TextView
            android:layout_margin="8dp"
            android:text="ITEM"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

        <TextView
            android:layout_marginLeft="8dp"
            android:layout_marginBottom="8dp"
            android:text="34"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />

    </LinearLayout>
</android.support.v7.widget.CardView>