Android實(shí)現(xiàn)微信朋友圈評(píng)論EditText效果
本文主要講解實(shí)現(xiàn)微信朋友圈評(píng)論EditText效果思路,供大家參考,具體內(nèi)容如下
效果圖

當(dāng)我們點(diǎn)擊某一天朋友圈的評(píng)論是,列表也會(huì)跟隨著滑動(dòng),使得鍵盤剛好在我們點(diǎn)擊的那條評(píng)論上方
getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
// 這里可以監(jiān)聽到鍵盤顯示與隱藏時(shí)界面可視區(qū)域的變化
Rect rect = new Rect();
View decorView = getWindow().getDecorView();
decorView.getWindowVisibleDisplayFrame(rect);
int displayHeight = rect.bottom - rect.top;
// 拿到鍵盤的高度,可能會(huì)有誤差,需要優(yōu)化
keyboardHeight = decorView.getHeight() - displayHeight;
if (displayHeight * 1.0 / decorView.getHeight() > 0.8) {
dialog.dismiss();
}
}
});考慮到評(píng)論的EditText是可以隱藏的,所以把它寫到Dialog中,初始化Dialog的代碼就不貼出來了
點(diǎn)擊彈出Dialog
private void showInputComment(View commentView, final int position) {
// 拿到評(píng)論按鈕在屏幕中的坐標(biāo)
final int rvInputY = getY(commentView);
// 拿到評(píng)論按鈕高度
final int rvInputHeight = commentView.getHeight();
dialog.show();
handler.postDelayed(new Runnable() {
@Override
public void run() {
int dialogY = getY(dialog.findViewById(R.id.dialog_layout_comment));
// 滑動(dòng)列表
rv.smoothScrollBy(0, rvInputY - keyboardHeight + dialogY + rvInputHeight);
}
}, 300);
}
/**
* 拿到View在屏幕中的坐標(biāo)
* @param commentView
* @return
*/
private int getY(View commentView) {
int[] outLocation = new int[2];
commentView.getLocationOnScreen(outLocation);
return outLocation[1];
}以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
- Android 登錄頁面的實(shí)現(xiàn)代碼(密碼顯示隱藏、EditText 圖標(biāo)切換、限制輸入長度)
- Android EditText隨輸入法一起移動(dòng)并懸浮在輸入法之上的示例代碼
- Android EditText每4位自動(dòng)添加空格效果
- Android EditText追加空格、限制字符等方法示例
- Android EditText長按菜單中分享功能的隱藏方法
- Android中多個(gè)EditText輸入效果的解決方式
- Android EditText監(jiān)聽回車鍵并處理兩次回調(diào)問題
- Android實(shí)現(xiàn)EditText添加下劃線
- Android自定義密碼輸入EditTextLayout
- Android EditText限制輸入整數(shù)和小數(shù)的位數(shù)的方法示例
- Android使用EditText小技巧匯總
相關(guān)文章
ToolBar中menu無法同時(shí)顯示圖標(biāo)和文字問題的解決方法
這篇文章主要為大家詳細(xì)介紹了ToolBar中menu無法同時(shí)顯示圖標(biāo)和文字問題的解決方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-09-09
Android創(chuàng)建與解析XML(二)——詳解Dom方式
本篇文章主要介紹了Android創(chuàng)建與解析XML(二)——詳解Dom方式 ,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。2016-11-11
Android 自定義圖片地圖坐標(biāo)功能的實(shí)現(xiàn)
最近項(xiàng)目要求實(shí)現(xiàn)一個(gè)在自定義地圖圖片上添加坐標(biāo)信息的功能,類似于在圖片做標(biāo)注的功能,這種功能糾結(jié)該如何實(shí)現(xiàn)呢?下面小編通過實(shí)例代碼給大家介紹Android 自定義地圖的實(shí)現(xiàn),需要的朋友參考下吧2021-07-07
Android自定義View控件實(shí)現(xiàn)刷新效果
這篇文章主要介紹了Android自定義View控件實(shí)現(xiàn)刷新效果的相關(guān)資料,非常不錯(cuò)具有參考借鑒價(jià)值,需要的朋友可以參考下2016-11-11
Android設(shè)置當(dāng)TextView中的文字超過TextView的容量時(shí)用省略號(hào)代替
這篇文章主要介紹了Android設(shè)置當(dāng)TextView中的文字超過TextView的容量時(shí)用省略號(hào)代替 ,需要的朋友可以參考下2017-03-03
Android 動(dòng)態(tài)菜單實(shí)現(xiàn)實(shí)例代碼
這篇文章主要介紹了Android 動(dòng)態(tài)菜單實(shí)現(xiàn)實(shí)例代碼的相關(guān)資料,這里附有實(shí)例代碼及實(shí)現(xiàn)效果圖,需要的朋友可以參考下2017-01-01

