常見(jiàn)的列表,表格布局(2)
7.簡(jiǎn)單聊天
8.仿朋友圈
9.頂部懸停(簡(jiǎn)單吸頂)
效果圖
簡(jiǎn)單聊天
簡(jiǎn)單聊天
實(shí)現(xiàn)方式: BaseAdapter 實(shí)現(xiàn)
getItemViewType 方法 通過(guò)Type去定義是收到的信息或者是本人發(fā)送的信息。
下面選擇面板使用簡(jiǎn)單的隱藏顯示的方式進(jìn)行展示承桥。這個(gè)只是一個(gè)簡(jiǎn)單的實(shí)現(xiàn)驻粟。 可以通過(guò)ViewPager+RecyleView/GridView 實(shí)現(xiàn)仿QQ的聊天面板
朋友圈
原作者:https://github.com/Naoki2015/CircleDemo
朋友圈實(shí)現(xiàn)是 從github上借鑒的 由于大神的代碼是 MVP模式做的 ,我將代碼重構(gòu) 用我們習(xí)慣的MVC去重新構(gòu)建了一下凶异。 主要的自定義組件是 九宮格圖片 和 點(diǎn)贊人列表 更多展開(kāi)
頂部懸停
頂部懸停
頂部懸停
一個(gè)簡(jiǎn)單的RecyleView 和 外部布局就可以輕松實(shí)現(xiàn)蜀撑。
一個(gè)相對(duì)布局中放入一個(gè)Recyleview 然后放入懸停View 布局
將懸停布局抽出來(lái)。將它設(shè)置成為 RecycleView的HeadView
mainRecycler.addOnScrollListener(new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
super.onScrollStateChanged(recyclerView, newState);
int[] location = new int[2];
mImageView.getLocationOnScreen(location);
int y = location[1];
Log.d("MYTAG","imageY == "+y);
imageY = y;
}
@Override
public void onScrolled(RecyclerView recyclerView, int dx, int dy) {
super.onScrolled(recyclerView, dx, dy);
if (mHeaderView == null) return;
int getTop = mHeaderView.getDistanceY();
Log.d("MYTAG","getTop == "+getTop);
if (getTop <= imageY) {
mImageView.setVisibility(View.VISIBLE);
} else {
mImageView.setY(0);
mImageView.setVisibility(View.GONE);
}
}
mainRecycler.addOnScrollListener 通過(guò)滾動(dòng)進(jìn)行對(duì)相對(duì)布局中的 頭部View進(jìn)行 顯示隱藏
代碼不定時(shí)更新 https://github.com/chinaltz/JustAndroid