- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我正在从 Github 的 Cardslib 库中实现新的 Material Card 设计。图书馆链接:Cardslib Github但我无法在 Recycler View 中实现多张卡片。如果有人已经实现了新的 Cardslib v2 库,那将非常有帮助。
问题是,卡片即将推出,但没有背景图片和操作按钮。
我要实现的卡片布局是:
这是 RecyclerView 的代码
<it.gmariotti.cardslib.library.recyclerview.view.CardRecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="10dp"
android:paddingRight="10dp"
android:paddingTop="10dp"
card:list_card_layout_resourceID="@layout/native_recyclerview_card_layout"
android:id="@+id/card_recyclerview"/>
这是 Activity 的代码
public class AboutActivity extends ActionBarActivity {
final int TOTAL_CARDS = 3;
//private CardArrayAdapter
private CardArrayRecyclerViewAdapter mCardArrayAdapter;
private CardRecyclerView mRecyclerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_activity);
ArrayList<Card> cards = new ArrayList<>();
mCardArrayAdapter = new CardArrayRecyclerViewAdapter(this, cards);
//Staggered grid view
CardRecyclerView mRecyclerView = (CardRecyclerView) findViewById(R.id.card_recyclerview);
mRecyclerView.setHasFixedSize(false);
mRecyclerView.setLayoutManager(new LinearLayoutManager(this));
//Set the empty view
if (mRecyclerView != null) {
mRecyclerView.setAdapter(mCardArrayAdapter);
}
//Load cards
new LoaderAsyncTask().execute();
}
private ArrayList<Card> initCard() {
ArrayList<Card> cards = new ArrayList<Card>();
for (int i = 0; i < TOTAL_CARDS; i++) {
MaterialLargeImageCard card = new MaterialLargeImageCard(this);
//card.setInnerLayout(R.layout.native_material_largeimage_text_card);
card.setTextOverImage("Italian Beaches");
card.setDrawableIdCardThumbnail(R.drawable.card_background_01);
//Set the title and subtitle in the card
card.setTitle("This is my favorite local beach");
card.setSubTitle("A wonderful place");
// Set supplemental actions
TextSupplementalAction t1 = new TextSupplementalAction(this, R.id.action1);
t1.setOnActionClickListener(new BaseSupplementalAction.OnActionClickListener() {
@Override
public void onClick(Card card, View view) {
Toast.makeText(AboutActivity.this, " Click on Text SHARE ", Toast.LENGTH_SHORT).show();
}
});
card.addSupplementalAction(t1);
//Set the layout for supplemental actions
card.setLayout_supplemental_actions_id(R.layout.about_card_supplemental_actions);
//Very important call: build the card
card.build();
cards.add(card);
}
return cards;
}
private void updateAdapter(ArrayList<Card> cards) {
if (cards != null) {
mCardArrayAdapter.addAll(cards);
}
}
class LoaderAsyncTask extends AsyncTask<Void, Void, ArrayList<Card>> {
LoaderAsyncTask() {
}
@Override
protected ArrayList<Card> doInBackground(Void... params) {
//elaborate images
//SystemClock.sleep(1000); //delay to simulate download, don't use it in a real app
ArrayList<Card> cards = initCard();
return cards;
}
@Override
protected void onPostExecute(ArrayList<Card> cards) {
//Update the adapter
updateAdapter(cards);
//displayList();
}
}
}
更新:
Material 卡.xml :
<it.gmariotti.cardslib.library.view.CardViewNative
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:card="http://schemas.android.com/apk/res-auto"
android:id="@+id/list_cardId"
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/native_recyclerview_card.base"
card:card_layout_resourceID="@layout/native_material_largeimage_text_card"/>
在布局 xml 中:
<it.gmariotti.cardslib.library.recyclerview.view.CardRecyclerView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/myCardList"
card:list_card_layout_resourceID="@layout/material_card" />
内部 For 循环:
ArrayList<BaseSupplementalAction> actions = new ArrayList<BaseSupplementalAction>();
// Set supplemental actions
TextSupplementalAction t1 = new TextSupplementalAction(this, R.id.action1);
t1.setOnActionClickListener(new BaseSupplementalAction.OnActionClickListener() {
@Override
public void onClick(Card card, View view) {
Toast.makeText(AboutActivity.this," Click on Text SHARE "+card.getTitle(),Toast.LENGTH_SHORT).show();
}
});
actions.add(t1);
//Create a Card, set the title over the image and set the thumbnail
MaterialLargeImageCard card =
MaterialLargeImageCard.with(this)
.setTextOverImage("Italian Beaches "+i)
.setTitle("This is my favorite local beach "+i)
.setSubTitle("A wonderful place")
.useDrawableId(R.drawable.card_background_01)
.setupSupplementalActions(R.layout.about_card_supplemental_actions, actions)
.build();
card.setOnClickListener(new Card.OnCardClickListener() {
@Override
public void onClick(Card card, View view) {
Toast.makeText(AboutActivity.this," Click on ActionArea ",Toast.LENGTH_SHORT).show();
}
});
card.build();
cards.add(card);
更新 2
在做了一些实验后,我认为这可能是罪魁祸首
<it.gmariotti.cardslib.library.recyclerview.view.CardRecyclerView
android:id="@+id/myCardList"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingTop="10dp"
card:list_card_layout_resourceID="@layout/material_card" />
在这里,即使我将 material_card 重命名为其他名称,它也可以正常编译。我认为“card:list_card_layout_resourceID="@layout/material_card""不知何故没有被触发。
更新 3
终于解决了。问题出在 xml 声明中。不小心抄错了。 xmlns:card="http://schemas.android.com/apk/res-auto"是正确的
非常感谢@Gabriele 的帮助。这个图书馆太棒了:)
最佳答案
你可以在这里找到一个例子:
您的问题是布局。您的 RecyclerView 使用此卡片布局:card:list_card_layout_resourceID="@layout/native_recyclerview_card_layout"
您应该使用带有 material_card_layout 的卡片布局。
此外,我建议您使用构建器而不是卡片的标准构造器。
注意。我正在调查一个错误: https://github.com/gabrielemariotti/cardslib/issues/361
关于android - 带有 Cardslib 库的 Material 卡,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27920876/
我正在试验 Android cardslib 并尝试使用本教程显示图像:https://github.com/gabrielemariotti/cardslib/blob/master/doc/THU
我有两个项目,我在其中创建了一组扩展 card 类的自定义 cards,然后将它们插入到 StaggeredView 中。 我的问题是,在其中一个项目中,卡片角会自动变圆,而在另一个项目中则不会! 此
我正在使用 Cardslib 并在红色矩形中标记,网格中的一些卡片溢出并加入下面的下一张卡片。我该如何防止这种情况? 最佳答案 我必须检查这个案例才能找到真正的解决方案。 我很确定这取决于 CardH
我正在尝试将 Cardslib 库与我可以刷出和撤消的卡片列表一起使用。我的问题是撤消栏总是显示并且单击撤消不会执行任何操作。通过调试我意识到我的问题是 CardArrayAdapter 需要一个上下
我想用 Cardslib 更改 Material 卡的默认阴影。 我有卡 根据文档 https://github.com/gabrielemariotti/cardslib/blob/master/
我正在使用 Cardslib并尝试用自定义布局填充每张卡片。 我已设置好所有内容,但似乎无法正常工作。我遇到的问题是 CardListView 没有被填充。 这是我的代码: public class
我创建了一个扩展 CardArrayAdapter 的自定义适配器。只是玩它以获得舒适。有点把它当作一个带有观察器的自定义底座适配器等等。在测试应用程序中设置我认为正确的所有内容,应用程序打开,但没有
我在文件 cardslib_item_card_view 中声明了一张卡片: 并在 onCreate() 方法中设置为内容 View : public class CardMariotti exte
使用 https://github.com/gabrielemariotti/cardslib ,我想要一个如下所示的布局: ----------- (this card has dynamic te
总结:我是 Android 开发的新手,我正在使用 Gabriele Mariotti 出色的 cardslib 在卡片上显示图像 (.jpg)。我希望图像无边距地覆盖整张卡片。相反,我在图像的所有边
我正在从 Github 的 Cardslib 库中实现 CardWithList 设计。图书馆链接:Cardslib Github 我面临的问题是我无法更新卡值这是代码GetStat.java imp
我正在使用 cardslib 库进行开发并实现 this示例。 尽管我在创建 CardRecyclerView 对象时严格按照教程中的说明进行操作,但该对象似乎始终为 null。 检查我的代码: @O
我刚刚实现了 Cardslib在我的代码中。 我正在使用以下代码来实现 TopColoredCard: ArrayList cards = initCard(); updateAdapter(card
我在我的 Android 应用程序中使用 CardsLib 库。我正在尝试使用此库中的 MaterialCard。但是,当我尝试运行示例时 ,我得到了这个输出 下面是这个 Activity 的代码:
我正在从 Github 的 Cardslib 库中实现新的 Material Card 设计。图书馆链接:Cardslib Github但我无法在 Recycler View 中实现多张卡片。如果有人
我想创建一个类似于 GooglePlay 的 GridView。 我找到了这个 library在 Github 上。我不完全知道如何将它包含到我的项目中。我尝试将它添加到“Build Path”中,但
我正在尝试使用 this card library对于我正在尝试构建的 Android 应用程序的 UI,但我遇到了一些问题。 作者has this guide for using the libra
我正在尝试遵循这个例子 cardslib example但我遇到了一个异常,我看不出我做错了什么。 这是我的代码: public class FragmentA extends Fragment{
我正在构建一个同时使用 android-spinnerwheel 和 cardsLib 库的应用程序。SpinnerWheel 工作得很好,但是当我尝试使用滑动来删除 cardsLib 的功能时,sp
我是 android 编程的新手,实际上我正在尝试学习如何构建一个非常简单的应用程序,使其看起来像 Google Play 商店用户界面。 我找到了非常酷的 android 库,称为 cardslib
我是一名优秀的程序员,十分优秀!