android-pile-layout
一个水平堆叠滑动控件
how to use
decleare PileLayout in your xml file
android:id="@+id/pileLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="5dp"
android:paddingTop="5dp"
pile:displayCount="1.5"
pile:interval="10dp"
pile:scaleStep="0.22"
pile:widthHeightRate="1.22" />
Meanwhile, pileLayout is able to be customized by these 4 params:
name
format
description
interval
dimension
items-margin each other
sizeRatio
float
each item’s height/witdth
scaleStep
float
size scale step when needed
displayCount
float
number of items that may display
in Java files:
pileLayout = (PileLayout) findViewById(R.id.pileLayout);
pileLayout.setAdapter(new PileLayout.Adapter() {
@Override
public int getLayoutId() {
// item's layout resource id
return R.layout.item_layout;
}
@Override
public void bindView(View view, int position) {
ViewHolder viewHolder = (ViewHolder) view.getTag();
if (viewHolder == null) {
viewHolder = new ViewHolder();
viewHolder.imageView = (ImageView) view.findViewById(R.id.imageView);
view.setTag(viewHolder);
}
// recycled view bind new position
}
@Override
public int getItemCount() {
// item count
return dataList.size();
}
@Override
public void displaying(int position) {
// right displaying the left biggest itemView's position
}
@Override
public void onItemClick(View view, int position) {
// on item click
}
});