最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android實現(xiàn)微信朋友圈評論EditText效果

 更新時間:2022年08月02日 11:27:49   作者:candy_rjr  
這篇文章主要為大家詳細(xì)介紹了Android實現(xiàn)微信朋友圈評論EditText效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

效果圖

當(dāng)我們點擊某一天朋友圈的評論是,列表也會跟隨著滑動,使得鍵盤剛好在我們點擊的那條評論上方

getWindow().getDecorView().getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
  @Override
  public void onGlobalLayout() {
  // 這里可以監(jiān)聽到鍵盤顯示與隱藏時界面可視區(qū)域的變化
  Rect rect = new Rect();
  View decorView = getWindow().getDecorView();
  decorView.getWindowVisibleDisplayFrame(rect);
  int displayHeight = rect.bottom - rect.top;
  // 拿到鍵盤的高度,可能會有誤差,需要優(yōu)化
  keyboardHeight = decorView.getHeight() - displayHeight;
  if (displayHeight * 1.0 / decorView.getHeight() > 0.8) {
   dialog.dismiss();
  }
  }
 });

考慮到評論的EditText是可以隱藏的,所以把它寫到Dialog中,初始化Dialog的代碼就不貼出來了

點擊彈出Dialog

private void showInputComment(View commentView, final int position) {
   // 拿到評論按鈕在屏幕中的坐標(biāo)
   final int rvInputY = getY(commentView);
   // 拿到評論按鈕高度
   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));
     // 滑動列表
     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)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • Bitmap引起的OOM問題

    Bitmap引起的OOM問題

    這篇文章主要介紹了Bitmap引起的OOM問題,為什么會引起,以及避免引起的方法,文中有詳細(xì)的代碼示例,有需要的朋友可以參考下
    2023-04-04
  • Kotlin中的密封類和密封接口及其應(yīng)用場景

    Kotlin中的密封類和密封接口及其應(yīng)用場景

    在Kotlin中,密封類和密封接口是用于表示受限類型層次結(jié)構(gòu)的特殊類和接口。密封類和密封接口可以在一定程度上限制類型的繼承層次,使編譯器能夠更好地檢測代碼中的錯誤,并增強(qiáng)代碼的可讀性和可維護(hù)性
    2023-05-05
  • ToolBar中menu無法同時顯示圖標(biāo)和文字問題的解決方法

    ToolBar中menu無法同時顯示圖標(biāo)和文字問題的解決方法

    這篇文章主要為大家詳細(xì)介紹了ToolBar中menu無法同時顯示圖標(biāo)和文字問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • Android自定義View-Paint詳解

    Android自定義View-Paint詳解

    這篇文章主要介紹了Android自定義View-Paint詳解,對Paint感興趣的同學(xué)可以參考下
    2021-04-04
  • Android創(chuàng)建與解析XML(二)——詳解Dom方式

    Android創(chuàng)建與解析XML(二)——詳解Dom方式

    本篇文章主要介紹了Android創(chuàng)建與解析XML(二)——詳解Dom方式 ,這里整理了詳細(xì)的代碼,有需要的小伙伴可以參考下。
    2016-11-11
  • 解析Android ANR問題

    解析Android ANR問題

    ANR 的全稱是 Application No Responding,即應(yīng)用程序無響應(yīng),具體是一些特定的 Message (Key Dispatch、Broadcast、Service) 在應(yīng)用的UI線程(主線程)沒有在規(guī)定的時間內(nèi)處理完,進(jìn)而觸發(fā) ANR 異常
    2021-01-01
  • Android 自定義圖片地圖坐標(biāo)功能的實現(xiàn)

    Android 自定義圖片地圖坐標(biāo)功能的實現(xiàn)

    最近項目要求實現(xiàn)一個在自定義地圖圖片上添加坐標(biāo)信息的功能,類似于在圖片做標(biāo)注的功能,這種功能糾結(jié)該如何實現(xiàn)呢?下面小編通過實例代碼給大家介紹Android 自定義地圖的實現(xiàn),需要的朋友參考下吧
    2021-07-07
  • Android自定義View控件實現(xiàn)刷新效果

    Android自定義View控件實現(xiàn)刷新效果

    這篇文章主要介紹了Android自定義View控件實現(xiàn)刷新效果的相關(guān)資料,非常不錯具有參考借鑒價值,需要的朋友可以參考下
    2016-11-11
  • Android設(shè)置當(dāng)TextView中的文字超過TextView的容量時用省略號代替

    Android設(shè)置當(dāng)TextView中的文字超過TextView的容量時用省略號代替

    這篇文章主要介紹了Android設(shè)置當(dāng)TextView中的文字超過TextView的容量時用省略號代替 ,需要的朋友可以參考下
    2017-03-03
  • Android 動態(tài)菜單實現(xiàn)實例代碼

    Android 動態(tài)菜單實現(xiàn)實例代碼

    這篇文章主要介紹了Android 動態(tài)菜單實現(xiàn)實例代碼的相關(guān)資料,這里附有實例代碼及實現(xiàn)效果圖,需要的朋友可以參考下
    2017-01-01

最新評論

青神县| 菏泽市| 嘉黎县| 高州市| 新巴尔虎左旗| 双柏县| 库伦旗| 兴文县| 广饶县| 南阳市| 图木舒克市| 怀宁县| 三都| 阜南县| 麻城市| 自贡市| 灵台县| 开平市| 莎车县| 西丰县| 咸宁市| 庆阳市| 南投县| 海兴县| 商河县| 侯马市| 墨江| 平武县| 永修县| 龙州县| 融水| 涿州市| 九台市| 库车县| 白银市| 鄄城县| 鄂托克前旗| 柏乡县| 易门县| 纳雍县| 拉萨市|