日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > Android >内容正文

Android

android 仿简书评论,Android仿简书搜索框效果的示例代码

發(fā)布時(shí)間:2024/1/1 Android 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 仿简书评论,Android仿简书搜索框效果的示例代码 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

前言

之前用簡(jiǎn)書的時(shí)候一直是在web端,后來下載了客戶端,看到了搜索的那個(gè)動(dòng)畫,就嘗試的去寫了,沒寫之前感覺挺容易的,寫了之后,就感覺里面還是有些要注意的東西的。話不多說,直接上圖。

Activity 布局:

android:layout_width="match_parent"

android:layout_height="match_parent"

>

android:id="@+id/id_recycleview"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:layout_alignParentTop="true"

android:layout_alignParentLeft="true"

android:layout_alignParentStart="true"/>

android:id="@+id/id_ll_title_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@android:color/transparent"

android:gravity="right"

android:orientation="horizontal">

android:id="@+id/id_title_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@drawable/search_white_bg"

android:paddingRight="10dp"

android:paddingLeft="10dp"

android:gravity="center"

android:layout_marginTop="5dp"

android:layout_marginBottom="5dp"

android:layout_marginRight="16dp"

>

android:id="@+id/id_tv_search_min"

android:layout_width="wrap_content"

android:layout_height="35dp"

android:gravity="center"

android:maxLines="1"

android:drawableLeft="@mipmap/search_icon"

android:text="搜索"

android:drawablePadding="10dp"

android:textColor="#b7b7b7"

android:textSize="13sp"

/>

這里的TextView要添加maxLines=1屬性,如果不添加,當(dāng)text=“搜索簡(jiǎn)書內(nèi)容和朋友”時(shí)會(huì)有2行變1行的效果,看起來效果不太好。

頭部視圖:

xmlns:app="http://schemas.android.com/apk/res-auto"

android:id="@+id/id_header_view"

android:layout_width="match_parent"

android:layout_height="match_parent">

android:id="@+id/id_tv_header_view"

android:layout_width="match_parent"

android:layout_height="120dp"

android:background="@color/c_3ec88e"

android:gravity="center"

android:text="我是頭部"

/>

activity 頭部 xml.png

下面咱們省略findViewById的代碼,直接看核心代碼:

變量初始化:

//獲取屏幕寬度

mMaxWidth = ScreenUtil.getScreenWidth();

//搜索框距離屏幕邊緣的margin

int rightMargin = Px2DpUtil.dp2px(this, 17);

//屏幕寬度減去左右margin后的搜索框?qū)挾茸畲笾?/p>

mMaxWidth = mMaxWidth -rightMargin*2;

//搜索框?qū)挾茸钚≈?/p>

mMinWidth = Px2DpUtil.dp2px(this, R.dimen.d_80);

//header布局高度

mHeaderHeight=Px2DpUtil.dp2px(this,R.dimen.d_120);

RecyclerView 滾動(dòng)監(jiān)聽:

mRecyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {

@Override

public void onScrollStateChanged(RecyclerView recyclerView, int newState) {

super.onScrollStateChanged(recyclerView, newState);

}

@Override

public void onScrolled(RecyclerView recyclerView, int dx, int dy) {

super.onScrolled(recyclerView, dx, dy);

LinearLayoutManager l = (LinearLayoutManager)recyclerView.getLayoutManager();

//獲取第一個(gè)可見視圖的position

int position = l.findFirstVisibleItemPosition();

//獲取第一個(gè)完全可見視圖的position

int firstCompletelyVisibleItemPosition = l.findFirstCompletelyVisibleItemPosition();

//當(dāng)position=0時(shí),對(duì)標(biāo)題欄執(zhí)行透明度變化

if (position == 0) {

//計(jì)算滾動(dòng)的距離占header高度的比例

double delta = Math.floor(((float) getScollYDistance(recyclerView) % mHeaderHeight));

//給標(biāo)題欄設(shè)置透明度

mLlTitle.getBackground().setAlpha((int) delta);

}

//當(dāng)position=1時(shí),搜索框最大

if (position == 1) {

ObjectAnimator animator = ObjectAnimator.ofInt(new ViewWidthWrapper(mRlTitleLayout), "width", mMaxWidth);

setAnimatorListener(animator,1);

}

//當(dāng)position=0時(shí),搜索框最小

if(firstCompletelyVisibleItemPosition==0){

ObjectAnimator animator = ObjectAnimator.ofInt(new ViewWidthWrapper(mRlTitleLayout), "width", mMinWidth);

setAnimatorListener(animator,0);

}

}

});

獲取RecycleView垂直滾動(dòng)的距離:

public int getScollYDistance(RecyclerView rv) {

LinearLayoutManager layoutManager = (LinearLayoutManager) rv.getLayoutManager();

//獲取第一個(gè)可見item的position

int position = layoutManager.findFirstVisibleItemPosition();

//獲取第一個(gè)position的View

View firstVisiableChildView = layoutManager.findViewByPosition(position);

//獲取第一個(gè)可見View的高度

int itemHeight = firstVisiableChildView.getHeight();

return (position) * itemHeight - firstVisiableChildView.getTop();

}

搜索框執(zhí)行的動(dòng)畫(ObjectAnimator):

animator.addListener(new Animator.AnimatorListener() {

@Override

public void onAnimationStart(Animator animation) {

}

@Override

public void onAnimationEnd(Animator animation) {

if (visibity == 1) {

mMinTvSearchView.setText("搜索簡(jiǎn)書內(nèi)容和朋友");

}

if (visibity == 0) {

mMinTvSearchView.setText("搜索");

}

}

@Override

public void onAnimationCancel(Animator animation) {

}

@Override

public void onAnimationRepeat(Animator animation) {

}

});

animator.setDuration(100).start();

好了,以上就是搜索框效果的全部?jī)?nèi)容,代碼中都有比較詳細(xì)的注釋。希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

總結(jié)

以上是生活随笔為你收集整理的android 仿简书评论,Android仿简书搜索框效果的示例代码的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 欧美区一区 | 中文字幕一区二区久久人妻 | 精品国产一区二区三区久久狼黑人 | 伊人国产在线观看 | 日本加勒比中文字幕 | 黄色一级视频网站 | 一区欧美 | 婷婷资源网| 尤物天堂 | 又粗又猛又爽又黄的视频 | 国产精品看片 | 色亚洲色图 | a一级网站 | 超碰免费在 | 日出白浆视频 | 国产男女激情 | aaa黄色片| 狠狠干天天色 | 猛男被粗大男男1069 | 黄视频免费在线看 | 亚洲av无码一区二区三区在线 | 碰在线视频 | 亚洲国产精品成人av | 91欧美国产 | 番号动态图 | 在线观看涩涩视频 | 欧美黄网站| 捆绑调教视频网站 | 国产日韩一区二区三区在线观看 | 在线一区二区三区四区五区 | 精品人妻一区二区三区久久夜夜嗨 | 我要看免费毛片 | 色综合精品 | 99色网| 雷电将军和丘丘人繁衍后代视频 | 国产欧美在线观看 | 国产福利短视频 | 国产欧美在线视频 | 台湾av在线 | 天天干夜夜艹 | 国产乱码精品一区二区三 | 性网站在线观看 | 国产精品亚洲无码 | 亚洲天堂精品一区 | 97caop| 欧洲亚洲激情 | 无码gogo大胆啪啪艺术 | 超碰97人 | 精品人妻一区二区三区香蕉 | 在线观看视频二区 | 在线免费观看一区 | 天天插天天色 | 久久久精品免费观看 | 自慰无码一区二区三区 | 在线播放波多野结衣 | 视频久久精品 | 亚洲喷潮 | 乱一色一乱一性一视频 | 精品国产一区二区三区久久久蜜月 | 久久久久成人精品无码中文字幕 | 日本人妖在线 | 国产一二三区在线 | 扒开jk护士狂揉免费 | 鲁鲁狠狠狠7777一区二区 | 成人综合激情网 | 国产美女喷水视频 | 91精品国产综合久久久蜜臀图片 | 四虎精品在永久在线观看 | 人人射 | 91在线精品一区二区 | 成人毛片视频免费看 | 这里有精品视频 | 亚洲好看站| 美女扒开尿口来摸 | 青青草午夜 | 在线观看视频免费 | 免费在线看污 | 日本中文在线播放 | 日本免费在线播放 | 久久久穴| 国产不卡视频一区二区三区 | 久久久久人妻一区精品色 | 免费日韩一级片 | 正在播放国产一区 | 国模精品一区二区三区 | 亚洲综合激情五月久久 | 天堂av网站| 神马久久午夜 | 成人福利免费视频 | 99热日本 | 中文字幕一区二区三区四区五区 | 丁香婷婷网 | 亚洲国产成人91porn | 亚洲丝袜在线视频 | 男生吃小头头的视频 | 黄色网页入口 | 亚洲自拍成人 | 黑白配在线观看免费观看 | 91看片看淫黄大片 |