1

我有两个项目,我在其中创建了一组自定义cards扩展card类,然后将它们插入到StaggeredView.

我的问题是,在其中一个项目中,卡片的角是自动圆角的,而在另一个项目中则不是!

此外,在第二个项目中,滚动出现断断续续!

这是我的代码:

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.staggered_grid);

    List<Tour> data = createList(10);

    ArrayList<Card> cardes = initCards(data);

    mCardArrayAdapter = new CardGridStaggeredArrayAdapter(ListViewPrenota.this, cardes);

    CardGridStaggeredView mGridView = (CardGridStaggeredView)
            ListViewPrenota.this.findViewById(R.id.carddemo_extras_grid_stag);

    if (mGridView != null) {
        mGridView.setAdapter(mCardArrayAdapter);
    }
}


private ArrayList<Card> initCards(List<Tour> data){

    ArrayList<Card> cards = new ArrayList<>();
    for(int i = 0; i <= data.size()-1; i++ ){
        DeviceCardList card = new DeviceCardList(this, R.layout.cardslib_inner_layout, data.get(i));

        cards.add(card);
    }
    return cards;
}

DeviceCardList:

cardslib_inner_layoutxml文件

staggered_view.xmlxml文件

4

1 回答 1

2

解决了!事实证明,为了使用cardlib设置卡片的角落,有必要覆盖这个值:

<dimen name="cardview_default_radius">yourRadius</dimen>
<dimen name="card_background_default_radius">"yourRadius"</dimen>

来自这个文件:dimens.xml

对我来说,只需要覆盖card_background_default_radius

于 2015-05-13T14:36:53.030 回答