我有: 在一个文件build.gradle (依赖关系) dependencies { compile 'com.android.support:cardview-v7:21.0.+' } 在一个文件styles.xml (样式定义) <resources xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto"> <style name="CardViewStyle"> <item name="android:layout_margin">5dip</item> <item name="card_view:cardCornerRadius">4dp</item> <item name="card_view:cardElevation">4dp</item> </style> </resources> 但编译器抱怨: 错误:找不到与给定名称匹配的资源:attr'card_view:cardCornerRadius'。 如何在样式中添加一些cardView属性?
我正在试验支持库的recyclerview和卡片。 我有一个卡的recyclerview。 每张卡片的右上angular都有一个“x”图标可以将其删除: 卡xml, list_item.xml : <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp"> <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:id="@+id/taskDesc" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:textSize="40sp" android:text="hi"/> <ImageView android:id="@+id/xImg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentTop="true" android:layout_alignParentRight="true" android:src="@drawable/ic_remove"/> </RelativeLayout> </android.support.v7.widget.CardView> 我试图用我将在notifyItemRemoved(position)中的notifyItemRemoved(position)中使用的位置来标记行: public class TaskAdapter extends RecyclerView.Adapter<TaskAdapter.TaskViewHolder> { private List<Task> taskList; private TaskAdapter thisAdapter = this; // cache of views to reduce number […]
我使用GridLayoutManager RecyclerView和我有每个项目作为CardView。 不幸的是,这里CardView似乎并没有改变它的背景颜色。 我尝试在布局和编程方面,但我已经试过似乎没有工作。 我一直在挣扎了很长时间。 我很感激有人能帮我解决这个问题。
我正在使用android:paddingLeft和android:paddingTop为新的CardView小部件设置填充,但不起作用。 我可以为CardView中的所有控件设置边距作为解决方法,但如果控件太多,则会很痛苦。 如何设置新的cardview小部件的填充? <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/card_view" android:layout_gravity="center" android:layout_width="match_parent" android:layout_height="200dp" android:paddingLeft="20dp" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="20dp" android:paddingBottom="@dimen/activity_vertical_margin" card_view:cardCornerRadius="2dp"> <TextView android:id="@+id/info_text" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="Hello World!"/> </android.support.v7.widget.CardView>
我有一个圆angular的CardView ,我想在顶部有一个ImageView ,如下面的材料devise指南中所示的示例所示。 <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> 然后在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" /> 如果我有card_view:cardCornerRadius设置为0dp那么ImageView就像我想要的那样适合卡片。 但是, 材料devise指南指出卡片应该有圆angular,而不是方angular。 我遇到的问题是,当我将card_view:cardCornerRadius设置为card_view:cardCornerRadius以外的0dp ,例如4dp ,则会发生以下情况: 可以看出, ImageView不适合CardView 。 我的问题是,如何使这个ImageView适合CardView的布局,当它有圆angular。
我试图在我的应用程序中使用CardView,在我的xml布局中工作得很好。 因为我想在我的代码中生成它们,而不是通过XML我试图设置半径CardView.setRadius() – Android开发人员build议的方法( https://developer.android.com/preview/material/ui-widgets .html#cardview )。 这根本不起作用! 我希望有人可以帮助我,我的问题或与XML布局有一个很好的解决方法。 这是我的代码: int height = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 100, getResources().getDisplayMetrics()); float radius = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 4, getResources().getDisplayMetrics()); for (String color : colors) { CardView card = new CardView(getActivity()); TextView text = new TextView(getActivity()); card.setBackgroundColor(Color.parseColor("#"+color)); card.setLayoutParams(new ViewGroup.LayoutParams( ViewGroup.LayoutParams.MATCH_PARENT, height)); card.setRadius(radius); //Error!! text.setText(args.get(colors.indexOf(color)) + " – #" + color); card.addView(text); […]
简单来说: 我们如何定义CardView的cardBackgroundColor属性的颜色状态(在这种情况下,在ListView布局中)? (我正在使用Android L开发人员预览的RC1,安装了4.4版本的手机,以及build.gradle中的“com.android.support:cardview-v7:21.0.0-rc1”) 更长: 在CardView布局中,我们通过cardCornerRadius和cardBackgroundColor设置CardView的拐angular半径和背景颜色。 但是,背景颜色不会影响选定的状态,例如,如果按下列表项目。 如果在CardView的内部视图中设置了背景颜色和相关的状态,但是它将显示在CardView中定义的angular上。 那么,我们如何确保CardView的cardBackgroundColor中的状态得到尊重? 这是用于cardBackgroundColor colour_with_states.xml的颜色: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_focused="true" android:state_enabled="false" android:state_pressed="true" android:color="@android:color/holo_green_dark" /> <item android:state_focused="true" android:state_enabled="false" android:color="@android:color/holo_green_dark" /> <item android:state_focused="true" android:state_pressed="true" android:color="@android:color/holo_green_dark" /> <item android:state_focused="false" android:state_pressed="true" android:color="@android:color/holo_green_dark" /> <item android:state_focused="true" android:color="@android:color/holo_green_dark" /> <!– Only this below is seen in the cardview dispaly –> <item android:color="@android:color/holo_blue_bright" /> </selector> 而使用CardView的布局: <android.support.v7.widget.CardView […]
我很想为我的开源库启用触摸反馈。 我创build了一个RecyclerView和一个CardView 。 CardView包含具有不同onClick操作的不同区域。 现在,如果用户点击卡片中的任意位置,我很乐意触发Ripple效果,但是我无法实现此行为。 这是我的listitem,你也可以在GitHub上find它: https : //github.com/mikepenz/AboutLibraries/blob/master/library/src/main/res/layout/listitem_opensource.xml <RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:clickable="true" android:background="@drawable/button_rect_normal"/> <LinearLayout android:padding="6dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:gravity="center_vertical" android:paddingLeft="8dp" android:paddingRight="8dp" android:orientation="horizontal" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/libraryName" android:textColor="@color/title_openSource" android:textSize="@dimen/textSizeLarge_openSource" android:textStyle="normal" android:layout_width="0dp" android:layout_weight="5" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="1"/> <TextView android:id="@+id/libraryCreator" android:textColor="@color/text_openSource" android:textStyle="normal" android:layout_width="0dp" android:layout_weight="2" android:layout_height="wrap_content" android:layout_marginTop="2dp" android:gravity="right" android:maxLines="2" android:textSize="@dimen/textSizeSmall_openSource"/> </LinearLayout> <View android:layout_width="match_parent" android:layout_height="1px" android:layout_marginTop="4dp" android:background="@color/dividerLight_openSource"/> <TextView android:id="@+id/libraryDescription" […]
我尝试使用CardView ,它工作在5.0以下,但看起来奇怪的棒棒糖。 <?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="match_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="200dp"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="card1" android:textAppearance="?android:attr/textAppearanceLarge" /> </android.support.v7.widget.CardView> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="200dp"> <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="card2" android:textAppearance="?android:attr/textAppearanceLarge" /> </android.support.v7.widget.CardView> </LinearLayout> 当我使用RecyclerView时遇到同样的问题,如果在棒棒糖上运行,我是否需要添加一些东西?
据我所知,在预览阶段的早期,似乎没有办法只在CardView上设置XML的高程,而没有在Java中进行破解。 现在官方发布了,有没有办法在XML中这样做,而不用编写Java代码来设置高程? 我已经试过card_view:cardElevation没有效果。 我曾经想过,当我使用5.0的模拟器一切都很好。 但是现在我正在使用我的实际设备上的正式版本,所有的CardView消失了 前棒棒糖,它的效果很好。 这是我的完整的XML <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:orientation="horizontal" android:layout_width="match_parent" android:id="@+id/cv1" card_view:cardElevation="4dp" android:layout_margin="6dp" card_view:cardCornerRadius="3dp" android:layout_height="match_parent">