All Projects → jczmdeveloper → XCPullToLoadMoreListView

jczmdeveloper / XCPullToLoadMoreListView

Licence: other
XCPullToLoadMoreListView-下拉加载更多ListView控件(仿QQ、微信聊天对话列表控件)

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to XCPullToLoadMoreListView

Smartrefreshlayout
🔥下拉刷新、上拉加载、二级刷新、淘宝二楼、RefreshLayout、OverScroll,Android智能下拉刷新框架,支持越界回弹、越界拖动,具有极强的扩展性,集成了几十种炫酷的Header和 Footer。
Stars: ✭ 23,185 (+96504.17%)
Mutual labels:  pulltorefresh, android-ui, pull-to-refresh
Xrefreshview
一个万能的android下拉上拉刷新的框架,完美支持recyclerview
Stars: ✭ 1,685 (+6920.83%)
Mutual labels:  pulltorefresh, android-ui, pull-to-refresh
Springview
🔥 A custom view pull to refresh,support ScrollView,ListView,RecyclerView,WebView and all another views, easy to use
Stars: ✭ 1,936 (+7966.67%)
Mutual labels:  pulltorefresh, android-ui, pull-to-refresh
Tableview
TableView is a powerful Android library for displaying complex data structures and rendering tabular data composed of rows, columns and cells.
Stars: ✭ 2,928 (+12100%)
Mutual labels:  custom-view, android-ui
android-tableview-kotlin
Android's missing TableView component.
Stars: ✭ 40 (+66.67%)
Mutual labels:  custom-view, android-ui
WaveView
Simple Android library to draw sinusoidal waves.
Stars: ✭ 43 (+79.17%)
Mutual labels:  custom-view, android-ui
YuanaItemSettingView
Customizable Item Setting View Android
Stars: ✭ 15 (-37.5%)
Mutual labels:  custom-view, android-ui
Codeview Android
Display code with syntax highlighting ✨ in native way.
Stars: ✭ 748 (+3016.67%)
Mutual labels:  custom-view, android-ui
Pudding
🌟 Pudding use WindowManager(don't need request permission) to pull down a view that are displayed on top their attached window
Stars: ✭ 371 (+1445.83%)
Mutual labels:  custom-view, android-ui
Labelsview
Android的标签列表控件。可以设置标签的选中效果。 可以设置标签的选中类型:不可选中、单选、限数量多选和不限数量多选等, 并支持设置必选项、单行显示、最大显示行数等功能。
Stars: ✭ 777 (+3137.5%)
Mutual labels:  custom-view, android-ui
Bluetooth State View
Material design animated Bluetooth state view for Android
Stars: ✭ 36 (+50%)
Mutual labels:  custom-view, android-ui
mCustomView
总结了博主这么多年所写的自定义view,以及自定义view的教程
Stars: ✭ 17 (-29.17%)
Mutual labels:  custom-view, android-ui
RxLoading
RxJava library for showing a loading (i.e. progress bar) state while waiting for async data with minimal effort and advanced options.
Stars: ✭ 49 (+104.17%)
Mutual labels:  custom-view, android-ui
signal-strength-view
📶 Material design signal strength view for Android
Stars: ✭ 30 (+25%)
Mutual labels:  custom-view, android-ui
Image-Support
Add badge with counter to ImageView Android.
Stars: ✭ 128 (+433.33%)
Mutual labels:  custom-view, android-ui
Freepager
ViewPagers library for Android
Stars: ✭ 461 (+1820.83%)
Mutual labels:  custom-view, android-ui
Peppy Calendarview
Simple and fast Material Design calendar view for Android.
Stars: ✭ 30 (+25%)
Mutual labels:  custom-view, android-ui
Testleavesloading
Android 自定义 View 之 LeavesLoading
Stars: ✭ 55 (+129.17%)
Mutual labels:  custom-view, android-ui
Consecutivescroller
ConsecutiveScrollerLayout是Android下支持多个滑动布局(RecyclerView、WebView、ScrollView等)和普通控件(TextView、ImageView、LinearLayou、自定义View等)持续连贯滑动的容器,它使所有的子View像一个整体一样连续顺畅滑动。并且支持布局吸顶功能。
Stars: ✭ 1,383 (+5662.5%)
Mutual labels:  custom-view, android-ui
XCArcProgressView
Android开口圆环比例进度View(高仿猎豹清理大师内存占用比例View)
Stars: ✭ 28 (+16.67%)
Mutual labels:  custom-view, android-ui

XCPullToLoadMoreListView

This is a custom pull-down-to-load-more listview layout project,which is such as QQ chat or wechat chat listview。

XCPullToLoadMoreListView-下拉加载更多ListView控件(仿QQ、微信聊天对话列表控件)

效果图:

image image

使用方法示例:

public class MainActivity extends AppCompatActivity {

ListView mListView;
MyAdapter mAdapter;
XCPullToLoadMoreListView mPTLListView;
List<String> mList = new ArrayList<>(0);
@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    init();

}

private void init() {
    for(int i = 191;i <=200; i ++){
        mList.add("Item "+ i);
    }
    mPTLListView = (XCPullToLoadMoreListView) findViewById(R.id.list);

    mPTLListView.setOnRefreshListener(new XCPullToLoadMoreListView.OnRefreshListener() {

        @Override
        public void onPullDownLoadMore() {
            Log.v("czm", "onRefreshing");
            new Handler().postDelayed(new Runnable() {
                @Override
                public void run() {

                    List<String> list = new ArrayList<String>();
                    int i = 200 - mList.size() - 10 + 1;
                    int count = 0;
                    while (count < 10) {
                        list.add("Item " + i);
                        i++;
                        count++;
                    }
                    mList.addAll(0, list);
                    mAdapter.notifyDataSetChanged();
                    mPTLListView.onRefreshComplete();
                }
            }, 1000);
        }
    });

    mListView = mPTLListView.getListView();
    mAdapter = new MyAdapter();
    mListView.setAdapter(mAdapter);
}
private class MyAdapter extends BaseAdapter {
    @Override
    public int getCount() {
        return mList.size();
    }

    @Override
    public Object getItem(int position) {
        return mList.get(position);
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
        ViewHolder holder = null;
        if (convertView == null) {
            holder = new ViewHolder();
            convertView = new TextView(getApplicationContext());
            convertView.setLayoutParams(new AbsListView.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT
                    , DensityUtil.dip2px(getApplicationContext(), 80)));
            holder.text = (TextView) convertView;
            convertView.setTag(holder);
        } else {
            holder = (ViewHolder) convertView.getTag();
        }
        holder.text.setText(mList.get(position));
        holder.text.setTextColor(Color.BLACK);
        holder.text.setGravity(Gravity.CENTER_VERTICAL);

// holder.text.setBackgroundColor(Color.WHITE); return convertView; }

    class ViewHolder{
        TextView text;
    }
}

}

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].