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

Android 浮動編輯框的具體實現(xiàn)代碼

 更新時間:2017年10月13日 11:57:07   作者:Kevinmob  
本篇文章主要介紹了Android 浮動編輯框的具體實現(xiàn)代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

Android app 開發(fā)中經(jīng)常會遇到一些輸入框要懸浮到軟鍵盤上方的需求,大致做法有做法如下。

Android輸入法軟鍵盤懸浮,最常見的一種方法是通過給ViewTreeObserver添加ViewTreeObserver.OnGlobalLayoutListener當全局布局完成時或視圖樹中視圖的可見性發(fā)生變化時回調onGlobalLayout方法,在onGlobalLayout方法中獲取當前窗口的區(qū)域,獲取區(qū)域高度如果超過屏幕的五分之一一般認為是軟鍵盤處于顯示狀態(tài),區(qū)域高度即為輸入法軟鍵盤高度,通過此高度動態(tài)調整view的高度,達到輸入框懸浮于軟鍵盤上方的效果,代碼如下:

ViewTreeObserver.OnGlobalLayoutListener layoutListener =
        new ViewTreeObserver.OnGlobalLayoutListener() {
      int mScreenHeight = 0;
      int mKeyboardHeight = 0;
      @Override
      public void onGlobalLayout() {
        Rect rect = new Rect();
        // 測量當前窗口的顯示區(qū)域
        ((Activity)getContext()).getWindow().getDecorView()
            .getWindowVisibleDisplayFrame(rect);
        if(mScreenHeight <= 0){
          mScreenHeight = ((WindowManager) getContext()
              .getSystemService(Context.WINDOW_SERVICE))
              .getDefaultDisplay().getHeight();
        }
        //計算出軟鍵盤的高度
        int keyboardHeight = mScreenHeight - rect.bottom;

        //如果keyboardHeight大于屏幕的五分之一,
        // 此時keyboardHeight有效,反之就是軟鍵盤已經(jīng)關閉了。
        if (Math.abs(keyboardHeight) > mScreenHeight / 5) {
          mKeyboardHeight = keyboardHeight;
        }
      }
    }

還有一種方式是給Activity設置 Android:windowSoftInputMode="stateVisible|adjustResize",但是這種方法不是很靈活,一般解決不了產品的需求。

<activity android:name=".activity.xxx"
Android:windowSoftInputMode="stateVisible|adjustResize"/>

本文重點介紹通過透明的Activity來實現(xiàn)效果。

先來張效果圖

效果圖

全部源碼已上傳到github 點擊查看,別忘了star哦

1.自定義一個activity theme

<style name="NoTitleDialogTheme" parent="android:style/Theme.Dialog">
    <item name="android:windowBackground">@android:color/transparent</item>
    <item name="android:windowNoTitle">true</item>
    <item name="android:windowCloseOnTouchOutside">false</item>
  </style>

2.在AndroidManifest.xml中設置

<activity android:name=".FloatEditorActivity"
      android:windowSoftInputMode="stateAlwaysVisible"
      android:theme="@style/NoTitleDialogTheme"/>

3.在Activity中調整window的重力方向

public class FloatEditorActivity extends Activity implements View.OnClickListener {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.id.editorlayout);
    getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT,
     ViewGroup.LayoutParams.WRAP_CONTENT);
    getWindow().setGravity(Gravity.BOTTOM);
  }
}

就這樣非常簡單的實現(xiàn)了浮動編輯框的效果,全部源碼已上傳到github并做了很好的的封裝,只需實現(xiàn)你的需求布局即可,里面也有完整的用法實例。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android中Blade的使用方法

    Android中Blade的使用方法

    這篇文章主要介紹了Android中Blade的使用實例詳解,需要的朋友可以參考下
    2018-02-02
  • Android中自定義ImageView添加文字說明詳解

    Android中自定義ImageView添加文字說明詳解

    Android中的ImageView只能顯示矩形的圖片,為了用戶體驗更多,下面這篇文章主要給大家介紹了關于Android中自定義ImageView實現(xiàn)添加文字說明的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-08-08
  • Android 測試入門篇

    Android 測試入門篇

    Android本身是一套軟件堆疊(Software Stack),或者成為軟件疊層架構,疊層主要分成三層:操作系統(tǒng)、中間件和應用程序
    2014-03-03
  • 使用AccessibilityService實現(xiàn)微信自動切換賬號功能

    使用AccessibilityService實現(xiàn)微信自動切換賬號功能

    這篇文章主要為大家詳細介紹了使用AccessibilityService實現(xiàn)微信自動切換賬號功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-12-12
  • Android Studio導入Eclipse項目時.so庫文件的解決方法

    Android Studio導入Eclipse項目時.so庫文件的解決方法

    這篇文章主要介紹了Android Studio導入Eclipse項目時項目中".so"庫文件的解決方法,需要的朋友可以參考下
    2018-06-06
  • Android內容提供者ContentProvider用法實例分析

    Android內容提供者ContentProvider用法實例分析

    這篇文章主要介紹了Android內容提供者ContentProvider用法,結合實例形式較為詳細的分析了內容提供者ContentProvider獲取及解析數(shù)據(jù)的相關技巧,需要的朋友可以參考下
    2016-03-03
  • Android Activity與Intent詳解及示例代碼

    Android Activity與Intent詳解及示例代碼

    本文主要講解Android Activity與Intent的知識,這里整理了相關資料并附有示例代碼,有興趣的小伙伴可以參考下
    2016-08-08
  • Android zip4j壓縮、解壓、加解密的示例代碼

    Android zip4j壓縮、解壓、加解密的示例代碼

    本篇文章主要介紹了Android zip4j壓縮、解壓、加解密的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-12-12
  • Android實現(xiàn)日歷控件示例代碼

    Android實現(xiàn)日歷控件示例代碼

    本篇文章主要介紹了Android實現(xiàn)日歷控件示例代碼,實例講解了Android日期與時間相關控件的相關使用技巧,具有一定參考價值,需要的朋友可以參考下
    2017-03-03
  • android的got表HOOK實現(xiàn)代碼

    android的got表HOOK實現(xiàn)代碼

    對于android的so文件的hook根據(jù)ELF文件特性分為:Got表hook、Sym表hook和inline hook等。今天通過本文給大家介紹android HOOK實現(xiàn)got表的實例代碼,需要的朋友參考下吧
    2021-08-08

最新評論

武鸣县| 金溪县| 霸州市| 三门峡市| 西林县| 正镶白旗| 江西省| 乌兰浩特市| 金寨县| 上林县| 南雄市| 商南县| 洱源县| 黔江区| 正镶白旗| 承德县| 黎平县| 东山县| 黄骅市| 大邑县| 古田县| 南开区| 胶南市| 英吉沙县| 盐池县| 济阳县| 万山特区| 仪征市| 资阳市| 且末县| 溧水县| 邓州市| 泗阳县| 泉州市| 壤塘县| 平山县| 廉江市| 宾川县| 永平县| 北川| 阳山县|