Articles of android cardview

无法使Android支持V7 CardView库正常工作

我正在使用IntelliJ / Android Studio与Ant构build(而不是现在的Gradle),并试图使用android-support-v7-cardview.jar,但我继续得到 android.view.InflateException: Binary XML file line #19: Error inflating class android.support.v7.widget.CardView java.lang.NoClassDefFoundError: android.support.v7.cardview.R$styleable 我没有用aar文件使用m2repository,而是在位置使用cardview sdk/extras/android/support/v7 我已经通过在我自己的项目中使用来自jar的类来得到它的工作,但它需要我不想使用的API 21(5.0)。 我正在尝试使用libs文件夹中的jar文件和res文件 sdk/extras/android/support/v7/cardview/res 我已经将lib文件和res文件添加到我自己的项目中,但仍然收到上面的错误消息。 我该怎么办?

Android NestedScrollViewalignment顶部的内容

我发现CoordinatorLayout中的NestedSCrollView中的内容总是在底部alignment,如果它不填满整个屏幕。 我该如何解决这个问题? 我的代码: <android.support.design.widget.CoordinatorLayout 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:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true"> <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="140dp" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar" android:fitsSystemWindows="true"> <android.support.design.widget.CollapsingToolbarLayout android:layout_width="match_parent" android:layout_height="match_parent" android:fitsSystemWindows="true" app:layout_scrollFlags="scroll|exitUntilCollapsed" app:contentScrim="?attr/colorPrimary" app:expandedTitleMarginStart="48dp" app:expandedTitleMarginEnd="64dp"> <android.support.v7.widget.Toolbar android:layout_width="match_parent" android:layout_height="?attr/actionBarSize" app:popupTheme="@style/ThemeOverlay.AppCompat.Light" app:layout_collapseMode="pin" /> </android.support.design.widget.CollapsingToolbarLayout> </android.support.design.widget.AppBarLayout> <android.support.v4.widget.NestedScrollView android:layout_width="match_parent" android:layout_height="match_parent" app:layout_anchorGravity="top|start" app:layout_behavior="@string/appbar_scrolling_view_behavior"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:paddingTop="24dp" android:orientation="vertical"> <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="200dp" android:layout_marginTop="10dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" card_view:cardBackgroundColor="@color/white" card_view:cardElevation="2sp" card_view:cardUseCompatPadding="true"> </android.support.v7.widget.CardView> <ListView android:layout_height="match_parent" android:layout_width="match_parent" […]

dynamiccardviews结合firebase

我有一个CardViews列表。 每个CardView (代表一个挑战)都有一个ViewPager来显示一个垂直可缩放的“解决scheme”列表。 “解决scheme列表”中的数据和图片来自Firebase数据库。 我有的问题是,您打开的第一个CardView (当您点击它时,它展开并显示解决scheme) 正确显示所有的解决scheme。 当你点击第二个,它展开,但没有数据显示,我认为这是因为我必须使用“最终”布局 ( final FrameLayout v0 = (FrameLayout) inflater.inflate(R.layout.solutions, null); ) 以下是自定义RecyclerView适配器重要部分的一小部分。 public class ChallengesAdapter extends RecyclerView.Adapter<ChallengesAdapter.RecyclerItemViewHolder> { private ArrayList<ChallengesData> myChallengesList; int mLastPosition = 0; //Firebase String mUID = FirebaseAuth.getInstance().getCurrentUser().getUid(); DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference(); DatabaseReference challengeSolutionsRef = rootRef.child("challenges"); FirebaseStorage storage = FirebaseStorage.getInstance(); StorageReference storageRef = storage.getReferenceFromUrl("firebase-url"); public ChallengesAdapter(ArrayList<ChallengesData> myChallengesList) […]

在Adapter.onBindViewHolder中获取CardView的宽度

我有一个post列表,其中大部分是图片(简单地说就是像G +或FB应用程序的post)。 每个post条目都有一个图像高宽比,所以我甚至可以在图像从服务器加载之前,根据它的宽度来设置图像高度,所以卡片布局在加载时不会改变。 问题是layout_width="match_parent"设置为卡片和张贴图像。 当我得到cardview的宽度时,它是零。 所以我无法计算高度。 现在我看到的唯一的解决scheme是取得父容器(RecyclerView)的宽度,并扣除所有的填充,但它看起来不是一个好的解决scheme。 有没有其他办法可以做到这一点? 这里是一个适配器代码的例子 @Override public void onBindViewHolder(ViewHolder holder, int position) { …. int width = holder.itemView.getWidth(); …. //do some calculations } 布局(没有不相关的部分) <?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:id="@+id/card" android:layout_width="match_parent" android:layout_height="match_parent" android:descendantFocusability="blocksDescendants" android:foreground="?android:attr/selectableItemBackground" card_view:cardBackgroundColor="#ffffff" card_view:cardCornerRadius="3dp"> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <include android:id="@+id/includedPost" layout="@layout/post_details" /> </RelativeLayout> </android.support.v7.widget.CardView> includedPost: <?xml version="1.0" encoding="utf-8"?> […]

使用Android 5.0设备的CardView中没有显示selectableItemBackground作为前景的波纹

我在Nexus 5上运行这个。下面是我的CardView的一部分代码: CardView cardView = new CardView(getActivity()); cardView.setRadius(4); LinearLayout.LayoutParams lp = new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, 400); lp.setMargins(32, 16, 32, 16); cardView.setLayoutParams(lp); cardView.setContentPadding(50, 50, 50, 50); … cardView.setForeground(selectedItemDrawable); 以下是我如何获取selectedItemDrawable: int[] attrs = new int[] { R.attr.selectableItemBackground }; TypedArray ta = getActivity().obtainStyledAttributes(attrs); selectedItemDrawable = ta.getDrawable(0); ta.recycle(); 当我点击卡时,应该与selectedItemDrawable一起出现的波纹不会出现(看起来和没有设置前景一模一样)。 我正在运行5.0,所以这似乎很奇怪,因为appcompat文档只能说它不适用于前棒棒糖设备。 有人知道为什么这样吗? 最低API级别是16级,目标是21级。

exception:android.view.InflateException:二进制XML文件行#2:错误膨胀类android.support.v7.widget.CardView

我在我的android应用程序中使用CardView的支持库。 我尝试了4-5个小时来解决这个问题,但我无法取得成功。 我还在我的项目&v7 appcompat中添加了CardView作为库 <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_margin="5dp" android:orientation="horizontal" app:cardCornerRadius="4dp" > 但我的应用程序崩溃与日志下面 10-31 18:41:39.577: E/AndroidRuntime(5666): FATAL EXCEPTION: main 10-31 18:41:39.577: E/AndroidRuntime(5666): Process: com.xyzladdoo, PID: 5666 10-31 18:41:39.577: E/AndroidRuntime(5666): android.view.InflateException: Binary XML file line #2: Error inflating class android.support.v7.widget.CardView 10-31 18:41:39.577: E/AndroidRuntime(5666): at android.view.LayoutInflater.createViewFromTag(LayoutInflater.java:707) 10-31 18:41:39.577: E/AndroidRuntime(5666): at android.view.LayoutInflater.inflate(LayoutInflater.java:469) 10-31 18:41:39.577: E/AndroidRuntime(5666): at android.view.LayoutInflater.inflate(LayoutInflater.java:397) […]

只能看到Cardview的顶angular

我只想在cardview的顶部转angular。 我用下面的财产,它正在四舍五入所有的angular落。 我想显示所有卡片的重叠 card_view:cardCornerRadius="4dp" 这是我的布局 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:card_view="http://schemas.android.com/apk/res-auto" xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/card_view" android:layout_width="match_parent" android:layout_height="match_parent" card_view:cardCornerRadius="4dp" card_view:cardPreventCornerOverlap="false" > <RelativeLayout android:layout_width="match_parent" android:layout_height="100dp" android:id="@+id/re1"> <TextView android:id="@+id/title" android:layout_width="match_parent" android:layout_height="20dp" android:background="@color/colorAccent" android:text="contact det" android:gravity="center_vertical" android:textColor="@android:color/white" android:textSize="14dp"/> <TextView android:id="@+id/txtName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Name" android:gravity="center_vertical" android:textSize="10dp" android:layout_below="@id/title" android:layout_marginTop="10dp" android:layout_marginLeft="5dp"/> <TextView android:id="@+id/txtSurname" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Surname" android:gravity="center_vertical" android:textSize="10dp" android:layout_below="@id/txtName" android:layout_marginTop="10dp" android:layout_marginLeft="5dp" /> <TextView android:id="@+id/txtEmail" android:layout_width="wrap_content" […]

“RecyclerView:没有适配器连接; 跳过布局“为recyclerview在片段

我得到这个错误,但我不知道是什么原因导致它…也许是这样的事实,这是在一个片段,而不是在活动本身初始化。 编辑:包括StatsAdapter代码 public class StatsFragment extends Fragment { private RecyclerView mRecyclerView; private LinearLayoutManager mLinearLayoutManager; private RecyclerView.Adapter mAdapter; private String[] myDataset = new String[]{"hello", "world", "yolo"}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); } @Override public View onCreateView(LayoutInflater inflater, ViewGroup parent, Bundle savedInstanceState) { View v = inflater.inflate(R.layout.fragment_stats, parent, false); mRecyclerView = (RecyclerView) v.findViewById(R.id.cardList); mRecyclerView.setHasFixedSize(true); mAdapter […]

用点击或滑动手势(Android)扩展/折叠CardView?

我正在寻找一个解决scheme,这将允许我扩大cardview看到更多的信息,然后轻松地将其折叠。 Google Keep有这样的卡片的例子。 任何人都知道他们是怎么做到的 我会创build我的cardview的两个版本(一个折叠和一个扩展),然后使用animation类加上手势方法在两个视图之间转换? 我正在使用Recyclerview来保存我的卡片视图。 我发现,如果它是相关的: http : //developer.android.com/training/animation/layout.html

将RecyclerView中的CardView展开为Google Activity中的“收件箱”之类的新活动

我使用Recycler View作为我的列表视图和CardView作为列表项目。 当我点击列表中的任何项目(例如Google / Gmail在收件箱应用程序中展开的项目)时,我想展开Cardview。 请指导!