国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

全屏Activity彈出鍵盤不頂起布局

這篇具有很好參考價值的文章主要介紹了全屏Activity彈出鍵盤不頂起布局。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近遇到的一個問題是全屏Activity中要求彈出鍵盤不頂起布局,首先windowSoftInputMode的取值是有多個的,在全屏場景下adjustPan是沒有用的,需要使用adjustResize首先確保鍵盤不頂起布局。

????????android:windowSoftInputMode="stateHidden|adjustResize"

但是單純設(shè)置windowSoftInputMode在布局方面又會有新的問題,那就是可能需要在鍵盤上方展示文本框,但是鍵盤的高度是不固定的,在全屏場景下布局不被頂起,因此文本框會被鍵盤遮擋,為解決這個問題,需要在鍵盤彈起時測量鍵盤的高度,代碼如下文章來源地址http://www.zghlxwxcb.cn/news/detail-705058.html

//在鍵盤彈起的地方對文本庫增加addOnGlobalLayoutListener,我xml的布局是ConstraintLayout
            binding.etDiy.viewTreeObserver
                .addOnGlobalLayoutListener {
                    val rect = Rect()
                    binding.root.getWindowVisibleDisplayFrame(rect)
                    val screenHeight = binding.root.height
                    val keypadHeight = screenHeight - rect.bottom

                    if (keypadHeight > screenHeight * 0.15) {
                        if (isSet) return@addOnGlobalLayoutListener
                        isSet = true
                        val constraintSet = ConstraintSet()
                        constraintSet.clone(binding.root)

                        constraintSet.connect(
                            binding.viewBackground.id,
                            ConstraintSet.BOTTOM,
                            ConstraintSet.PARENT_ID,
                            ConstraintSet.BOTTOM,
                            keypadHeight
                        )
                        constraintSet.applyTo(binding.root)
                    } else {
                        if (!isSet) return@addOnGlobalLayoutListener
                        isSet = false
                        val constraintSet = ConstraintSet()
                        constraintSet.clone(binding.root)
                        constraintSet.connect(
                            binding.viewBackground.id,
                            ConstraintSet.BOTTOM,
                            ConstraintSet.PARENT_ID,
                            ConstraintSet.BOTTOM,
                            0
                        )
                        constraintSet.applyTo(binding.root)
                    }
                }

到了這里,關(guān)于全屏Activity彈出鍵盤不頂起布局的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 開啟Android學(xué)習(xí)之旅-5-Activity全屏

    開啟Android學(xué)習(xí)之旅-5-Activity全屏

    Android 兩種方式設(shè)置全屏: 通過 getWindow().getDecorView()方法拿到當(dāng)前Activity的DecorView,再調(diào)用 setSystemUiVisibility() 方法來改變系統(tǒng)UI的顯示,這里傳入了 View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN 和 View.SYSTEM_UI_FLAG_LAYOUT_STABLE, 表示 Activity 的布局會顯示再狀態(tài)欄上面,最后調(diào)用一下 setStatusBarColo

    2024年02月02日
    瀏覽(19)
  • Android全屏彈出Dialog顯示狀態(tài)欄和導(dǎo)航欄的問題及解決方案

    在移動端開發(fā)中,有時候我們需要在Android應(yīng)用中彈出一個全屏的Dialog。然而,當(dāng)我們嘗試實現(xiàn)這樣的Dialog時,可能會遇到一個問題:狀態(tài)欄和導(dǎo)航欄在全屏Dialog中仍然可見,這可能會影響用戶體驗。本文將介紹如何解決這個問題,并提供相應(yīng)的源代碼。 問題描述: 當(dāng)我們使

    2024年02月05日
    瀏覽(30)
  • Android點擊EditText禁止彈出軟鍵盤

    今天做了一個點擊EditText獲取焦點,不彈出設(shè)備系統(tǒng)鍵盤,只彈出自定義鍵盤,在網(wǎng)上能查到很多實現(xiàn)這一功能的方法,試了很多,只有一種對我來說是好用的,做個記錄方便以后使用 方法一:這個對我來說好用的,也是唯一一個好用的,還會多分享幾個網(wǎng)上說的一些好用的

    2024年02月11日
    瀏覽(22)
  • android 點擊輸入框editText后點擊textview會彈出軟鍵盤問題解決

    在 Android 中,當(dāng)一個 EditText 或其它可以輸入文本的控件獲取焦點時,系統(tǒng)會自動彈出軟鍵盤以便用戶輸入。當(dāng)軟鍵盤彈出后,點擊其它控件,比如 TextView,也會觸發(fā) EditText 失去焦點的事件,從而導(dǎo)致軟鍵盤關(guān)閉。這是 Android 系統(tǒng)默認的行為。 但是,在某些情況下,用戶希望

    2024年02月15日
    瀏覽(28)
  • h5鍵盤彈起底部菜單(按鈕)被頂起-vue自定義指令解決

    ????????開發(fā)H5中測試過程中發(fā)現(xiàn)在安卓手機上,input/textarea 獲取焦點 軟鍵盤彈出 會讓absolute/fixed或者使用flex局部 固定在底部的元素(固定底部欄)頂起來問題;在搜索后發(fā)現(xiàn)安卓上在鍵盤彈起的時候瀏覽器 ? body height 100% ? 其實只有鍵盤以上范圍,這里決解方法有很多可

    2024年02月12日
    瀏覽(50)
  • uniapp軟鍵盤談起遮住輸入框和頭部被頂起的問題解決

    uniapp軟鍵盤談起遮住輸入框和頭部被頂起的問題解決

    ?推薦: pages.json中配置如下可解決頭部被頂起和表單被遮住的問題。? ? ? ?{ ?? ??? ??? ?\\\"path\\\": \\\"pages/debug/protocol/tagWord\\\", ?? ??? ??? ?\\\"style\\\": { ?? ??? ??? ??? ?\\\"app-plus\\\": { ?? ??? ??? ??? ??? ?\\\"softinputMode\\\": \\\"adjustResize\\\" ?? ??? ??? ??? ?} ?? ??? ??? ?} ?

    2024年02月13日
    瀏覽(25)
  • Flutter 解決App登錄頁面軟鍵盤遮擋住登錄按鈕或頂起底部控件的問題

    Flutter 解決App登錄頁面軟鍵盤遮擋住登錄按鈕或頂起底部控件的問題

    問題點 最終效果圖 問題點: 當(dāng)前使用的是 Column 布局,彈窗軟鍵盤后頁面超出范圍。 A RenderFlex overflowed by 0.533 pixels on the bottom. 解決方式 在 Scaffold 或者 CupertinoPageScaffold 中設(shè)置 resizeToAvoidBottomInset 為false 不修改 resizeToAvoidBottomInset 屬性的話,可以使用 ListView 、 SingleChildScrol

    2024年02月04日
    瀏覽(90)
  • Android 全局監(jiān)聽軟鍵盤彈起隱藏 動態(tài)修改布局并適配無限循環(huán)的問題

    要在 Android 應(yīng)用中全局檢測軟鍵盤的彈起,您可以使用 ViewTreeObserver.OnGlobalLayoutListener 監(jiān)聽器來監(jiān)聽布局樹的變化。當(dāng)軟鍵盤彈起或隱藏時,布局樹會發(fā)生變化,因此您可以在監(jiān)聽器中捕獲這些變化。 在上面的代碼中, rootView 是您布局的根視圖,您需要將其替換為您實際布局

    2024年02月11日
    瀏覽(25)
  • vue使用vant中的popup層,在popup層中加搜索功能后,input框獲取焦點 ios機型的軟鍵盤不會將popup頂起來的問題

    vue使用vant中的popup層,在popup層中加搜索功能后,input框獲取焦點 ios機型的軟鍵盤不會將popup頂起來的問題

    1.使用vant的popup彈出層做了一個piker的選擇器,用戶需要在此基礎(chǔ)上增加篩選功能。也就是輸入框 2.可是在ios機型中,input框在獲取焦點以后,ios的軟鍵盤彈起會遮蓋住我們的popup層,導(dǎo)致體驗不是很好 3.在大佬的解答及幫助下,采用窗口滾動的方式解決此方法 4.在獲取焦點時 將整個

    2024年02月11日
    瀏覽(19)
  • H5 輸入框鍵盤彈出收起

    H5 輸入框鍵盤彈出收起

    1 . 安卓系統(tǒng) 下點擊輸入框 鍵盤彈出以及收起 會使得webview 的窗口高度發(fā)生變化 鍵盤彈出的時候: webview的原高度 = 鍵盤的高度?+ webview 現(xiàn)在的窗口高度 Ios 系統(tǒng)? 下 鍵盤彈出收起不會影響webview 的窗口高度發(fā)生變化 鍵盤彈出的時候 可以監(jiān)聽focusin事件; 鍵盤收起的時候 可以

    2024年02月12日
    瀏覽(17)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包