相关疑难解决方法(0)

使ImageView适合CardView的宽度

我有一个CardView圆角,我希望有一个ImageView顶部,如下面的材料设计指南中的示例所示.

components_cards8.png

<android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto"
     android:id="@+id/card_view"
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     card_view:cardCornerRadius="4dp">

     <!-- ... --> 
 </android.support.v7.widget.CardView>
Run Code Online (Sandbox Code Playgroud)

然后在里面CardView我有这个ImageView

<ImageView
    android:id="@+id/imageView"
    android:layout_width="fill_parent"
    android:layout_height="150dp"
    android:layout_alignParentLeft="true"
    android:layout_alignParentStart="true"
    android:layout_alignParentTop="true"
    android:scaleType="centerCrop"
    android:src="@drawable/default_cover" />
Run Code Online (Sandbox Code Playgroud)

如果我有card_view:cardCornerRadius设置,0dp那么ImageView卡就像我想要的那样.

IMAGE_1

但是,材料设计指南规定卡片应有圆角,而不是方角.

我遇到的问题是当我设置card_view:cardCornerRadius其他东西时 0dp,例如4dp,然后发生以下情况:

IMAGE_2

可以看出,ImageView它不适合CardView.

我的问题是,我怎样才能使它ImageView适合CardView圆角时的布局.

android android-appcompat imageview android-cardview

64
推荐指数
4
解决办法
7万
查看次数

Appcompat CardView和Picasso没有圆角

我不知道我应该在哪里解决这个问题,如果这是我的错,那么Picasso Lib Wrong或Cardview Library中就会有一些东西.

基本上我有一个CardView图像(全卡覆盖)和A TextView覆盖.

Android 5.0设备上运行代码时,一切正常,Image获取其圆角.

但是,如果我在5.0之前的设备上运行它,图像重叠Cardlayout并且没有圆角.

你可以看看这个图片的比较: 对照

以下是一些代码片段:

layout_row.xml

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

    <ImageView
        android:id="@+id/pandaImage"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:layout_centerInParent="true"
        android:scaleType="centerCrop" />

    <TextView
        android:id="@+id/pandaName"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignBottom="@+id/pandaImage"
        android:layout_alignParentLeft="true"
        android:layout_alignParentStart="true"
        android:background="@color/photo_tint"
        android:clickable="true"
        android:focusable="true"
        android:gravity="center"
        android:textColor="@android:color/white"
        android:textSize="24sp" />

</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)

加载图像的Recycler Adapter:

@Override
public void onBindViewHolder(ViewHolder viewHolder, int i) {
    Photo p = photos.get(i);
    Picasso.with(mContext).load(p.getUrl()).fit().into(viewHolder.mImage);
    viewHolder.mPandaName.setText(p.getTitle());
}
Run Code Online (Sandbox Code Playgroud)

android android-appcompat cardlayout picasso

19
推荐指数
2
解决办法
2万
查看次数