亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

recyclerView,listView 切換順倒序和固定

標簽:
Android

5bbaede20001427806021054.jpg

这默认打开的状态:上图

5bbaede200012cf106021068.jpg

这是点击切换按钮后的状态,可以发现 recyclerView 是完全倒置 数据是从下到上排序依次增大,而listView 倒置之后是也是从下往上依次减少排序,自己可以根据不同的需求运用不同的功能,点击固定按钮RecyclerView 不可滑动,ListView 并没有做出处理,自己可以去尝试一下,由于不能做出动画效果给大家只能一张张图片往上贴,还望包涵,谢谢大家!

代码:贴出一部分,其余是适配器

public class RecyclerListViewActivity extends AppCompatActivity {

    private TextView mChangTextView;
    private TextView mOtherTextView;
    private RecyclerView mRecyclerView;
    private MyRecyclerAdapter mRecyclerAdapter;
    private ListView mListView;
    private boolean mReverseLayout = false;
    private boolean mScaledTouchSlop = false;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_recycler_list_view);
        initView();
        initListView();
        initRecylerView();
    }

    private void initView() {
        mChangTextView = (TextView) findViewById(R.id.changTextView);
        mChangTextView.setOnClickListener(mChangListener);

        mOtherTextView = (TextView) findViewById(R.id.otherTextView);
        mOtherTextView.setOnClickListener(mOtherListener);
    }

    private void initListView() {
        mListView = (ListView) findViewById(R.id.listItem);
        MyListViewAdapter listAdapter = new MyListViewAdapter();
        mListView.setAdapter(listAdapter);
        mListView.setStackFromBottom(mReverseLayout);

    }

    private void initRecylerView() {
        mRecyclerView = (RecyclerView) findViewById(R.id.recyclerView);
        mRecyclerAdapter = new MyRecyclerAdapter();
        mRecyclerView.setAdapter(mRecyclerAdapter);
        mRecyclerView.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View v, MotionEvent event) {

                return !mScaledTouchSlop;
            }
        });
        LinearLayoutManager manager = new LinearLayoutManager(this);
        //设置setReverseLayout 数据可以按照从头到尾或者从尾到头排序方式
        manager.setReverseLayout(mReverseLayout);
        mRecyclerView.setLayoutManager(manager);
    }

    private View.OnClickListener mChangListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mReverseLayout = !mReverseLayout;
            upDateView();
        }
    };
    private View.OnClickListener mOtherListener = new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mScaledTouchSlop = !mScaledTouchSlop;
        }
    };

    private void upDateView() {
        //recyclerView
        LinearLayoutManager layoutManager = (LinearLayoutManager) mRecyclerView.getLayoutManager();
        layoutManager.setReverseLayout(mReverseLayout);
        //listView
        mListView.setStackFromBottom(mReverseLayout);
        BaseAdapter adapter = (BaseAdapter) mListView.getAdapter();


    }

原文链接:http://www.apkbus.com/blog-455907-61208.html

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消