精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Android軟鍵盤控制方法、以及開發(fā)中遇到的一些問題。

移動(dòng)開發(fā) Android
Android 提供了 windowSoftInputMode 屬性來控制輸入法軟鍵盤窗口和 Activity 主窗口的交互,分為 窗口尺寸調(diào)整系列 和 輸入法軟鍵盤顯示控制系列。

Android 提供了 windowSoftInputMode 屬性來控制輸入法軟鍵盤窗口和 Activity 主窗口的交互,分為 窗口尺寸調(diào)整系列 和 輸入法軟鍵盤顯示控制系列。

窗口尺寸調(diào)整系列:

該系列參數(shù)用來控制當(dāng)軟鍵盤彈起時(shí),Activity 主窗口的調(diào)整策略,因?yàn)槿绻徽{(diào)整主窗口,很可能會(huì)導(dǎo)致當(dāng)前輸入的控件被軟鍵盤遮擋。

adjustPan:

Activity的主窗口并不會(huì)重新調(diào)整大小來為輸入法騰出空間,而是窗口的內(nèi)容會(huì)自動(dòng)上下晃動(dòng)來保證當(dāng)前獲得焦點(diǎn)的控件不會(huì)被鍵盤遮擋住,然后用戶可以看見自己輸入的內(nèi)容。相比于 adjustResize 模式而言,它并不是很令人滿意,因?yàn)橛脩舯仨氷P(guān)閉輸入法來和被輸入法遮擋住的控件進(jìn)行交互。

adjustResize:

Activity的主窗口會(huì)重新調(diào)整大小來為輸入法騰出空間。

adjustUnspecified:

當(dāng)前模式并不會(huì)明確指定 Activity 使用adjustPan 或者 adjustResize ,系統(tǒng)會(huì)自動(dòng)選擇一個(gè)模式,選擇結(jié)果是,如果當(dāng)前 Activity 的 Window 中,有可以滾動(dòng)自身內(nèi)容的控件,比如 ScrollView,那么選擇結(jié)果就是 adjustResize,因?yàn)樗J(rèn)為滾動(dòng)可以使 Window 中的內(nèi)容即使在一個(gè)很小的區(qū)域中也可以被看見。Activity 的默認(rèn)模式就是這個(gè)模式。

adjustNoting:

Activity 的 Window 沒有任何變化。

兩種模式下,屏幕 – 主窗口 – 主窗口內(nèi)容 – 軟鍵盤 的關(guān)系如下:

    

 

具體效果如下:

沒有滾動(dòng)內(nèi)容,adjustPan:

 

沒有滾動(dòng)內(nèi)容,adjustResize:

 

沒有滾動(dòng)內(nèi)容,adjustUnspecified == adjustPan 

 

有滾動(dòng)內(nèi)容(ScrollView),adjustPan

 

有滾動(dòng)內(nèi)容(ScrollView),adjustResize

 

有滾動(dòng)內(nèi)容(ScrollView),adjustUnspecified == adjustResize

 

輸入法軟鍵盤顯示控制系列:

該系列參數(shù)用來控制當(dāng)一個(gè)包含 Window 的事物(Activity、Dialog等)展示在屏幕最前端時(shí),軟鍵盤的顯示或者隱藏策略。

stateUnspecified:

系統(tǒng)根據(jù)當(dāng)前具體情況,選擇相應(yīng)的模式。

stateUnchanged:

軟鍵盤保持它的上一個(gè)狀態(tài)(上一個(gè)Activity 或者 Dialog 在屏幕最前端時(shí),軟鍵盤的狀態(tài)),不做變化,不管上一個(gè)狀態(tài)是顯示還是隱藏。

stateHidden:

當(dāng)用戶主動(dòng)進(jìn)入當(dāng)前界面時(shí),軟鍵盤隱藏。離開上一個(gè) 界面,返回當(dāng)前界面,不能算作 “主動(dòng)進(jìn)入”。被動(dòng)進(jìn)入時(shí),保持上一個(gè)狀態(tài)。

stateAlwaysHidden:

只要是用戶進(jìn)入該界面,就隱藏軟鍵盤,不管是主動(dòng)進(jìn)入(新啟動(dòng)該界面),還是被動(dòng)進(jìn)入(離開上一個(gè)界面,返回到當(dāng)前界面)。

stateVisible:

當(dāng)用戶主動(dòng)進(jìn)入當(dāng)前界面時(shí),顯示軟鍵盤。離開上一個(gè) 界面,返回當(dāng)前界面,不能算作 “主動(dòng)進(jìn)入”。被動(dòng)進(jìn)入時(shí),保持上一個(gè)狀態(tài)。

stateAlwaysVisible:

只要是用戶進(jìn)入該界面,就顯示軟鍵盤,不管是主動(dòng)進(jìn)入(新啟動(dòng)該界面),還是被動(dòng)進(jìn)入(離開上一個(gè)界面,返回到當(dāng)前界面)。

關(guān)于某些華為手機(jī)的一個(gè)Bug

今天遇到一個(gè)Bug,是這樣的,在某些華為手機(jī)上面,除了***次點(diǎn)擊輸入框,adjustPan 參數(shù)會(huì)生效(軟鍵盤可以正常彈起輸入框),后面從第二次開始,怎么點(diǎn)擊,adjustPan 參數(shù)都無效。

布局模型大致如下:

  1. <RelativeLayout 
  2. xmlns:android="http://schemas.android.com/apk/res/android" 
  3. xmlns:tools="http://schemas.android.com/tools" 
  4. android:id="@+id/activity_main" 
  5. android:layout_width="match_parent" 
  6. android:layout_height="match_parent" 
  7. tools:context="cn.hjf.inputtest.MainActivity"
  8.   
  9. <ScrollView 
  10. android:layout_width="match_parent" 
  11. android:layout_height="match_parent"
  12.   
  13. <LinearLayout 
  14. android:layout_width="match_parent" 
  15. android:layout_height="match_parent" 
  16. android:orientation="vertical"
  17.   
  18. <View 
  19. android:layout_width="match_parent" 
  20. android:layout_height="400dp" 
  21. android:background="#2b532b"/> 
  22.   
  23. <EditText 
  24. android:layout_width="90dp" 
  25. android:layout_height="wrap_content" 
  26. android:layout_gravity="center_vertical" 
  27. android:background="@null" 
  28. android:gravity="center" 
  29. android:inputType="numberDecimal" 
  30. android:maxLength="8" 
  31. android:minWidth="60dp" 
  32. android:padding="5dp" 
  33. android:text="0.00"/>  

效果是這樣的:

 

經(jīng)過漫長(zhǎng)時(shí)間的排除(很辛苦),終于找到了Bug的觸發(fā)臨界點(diǎn),就是下面這兩句話:

  1. android:gravity="center" 
  2. android:inputType="numberDecimal"  

又經(jīng)過了漫長(zhǎng)時(shí)間的驗(yàn)證,得出一個(gè)結(jié)論:在某些華為機(jī)型上面,在這種布局模型下,EditText 中如果設(shè)置了 inputType 參數(shù)(不為 none),那么,在 gravity 取值為某些值得時(shí)候,會(huì)導(dǎo)致該問題的發(fā)生。大致情況如下:

 

紅色表示失效,綠色表示有效(可以正常工作)。當(dāng)這兩個(gè)參數(shù)不指定的時(shí)候,可以工作,因?yàn)檫@兩個(gè)屬性默認(rèn)值的組合是可以工作的,上圖中的藍(lán)色塊。(備注:沒有完全匹配所有情況,如有相似情況,可以按需匹配,查看結(jié)果)

在源碼中可以找到這兩個(gè)屬性的默認(rèn)值:

attrs.xml

themes.xml

  1. <item name="editTextStyle">@style/Widget.EditText</item> 

attrs.xml

  1. <!-- The type of data being placed in a text field, used to help an 
  2. input method decide how to let the user enter text.  The constants 
  3. here correspond to those defined by 
  4. {@link android.text.InputType}.  Generally you can select 
  5. a single value, though some can be combined together as 
  6. indicated.  Setting this attribute to anything besides 
  7. <var>none</var> also implies that the text is editable. --> 
  8. <attr name="inputType"
  9. <!-- There is no content type.  The text is not editable. --> 
  10. <flag name="none" value="0x00000000" />   
  1. /** 
  2. * Special content type for when no explicit type has been specified. 
  3. * This should be interpreted to mean that the target input connection 
  4. is not rich, it can not process and show things like candidate text nor 
  5. * retrieve the current text, so the input method will need to run in a 
  6. * limited "generate key events" mode, if it supports it. Note that some 
  7. * input methods may not support it, for example a voice-based input 
  8. * method will likely not be able to generate key events even if this 
  9. * flag is set
  10. */ 
  11. public static final int TYPE_NULL = 0x00000000;  

一個(gè)需求

遇到一個(gè)需求,大致模型為:有一個(gè)界面,里面有一個(gè) 輸入框 和 兩個(gè)按鈕,分別控制輸入框中數(shù)字的加減,如下圖所示: 

[[195692]] 

每次輸入框數(shù)字變化,不管是手動(dòng)輸入還是按鈕控制,都會(huì)出發(fā)刷新工作,刷新時(shí)會(huì)彈出一個(gè)對(duì)話框。

然后需求是這樣的,當(dāng)手動(dòng)輸入的時(shí)候,這時(shí)觸發(fā)刷新時(shí),輸入法是顯示的,但是對(duì)話框顯示然后消失后,輸入法就被隱藏了。當(dāng)用按鈕控制的時(shí)候,是沒問題的,因?yàn)檎麄€(gè)過程,輸入法都是隱藏的。所以需求就是,在對(duì)話框顯示然后消失后,輸入法能保持出發(fā)刷新時(shí)的狀態(tài)。

解決問題:當(dāng)把當(dāng)前 Activity 設(shè)置為 stateUnchanged 的時(shí)候,并沒有達(dá)到理想的效果,因?yàn)閐ialog所在的window,沒有設(shè)置該屬性,所以需要把dialog的window也設(shè)置為stateUnchanged,方法為:

  1. getWindow().setSoftInputMode() 

然后就可以了。 

責(zé)任編輯:龐桂玉 來源: Android開發(fā)中文站
相關(guān)推薦

2022-01-16 08:04:44

集群部署canal

2020-07-29 08:03:26

Celery異步項(xiàng)目

2011-03-08 14:28:03

proftpdGentoo

2018-04-12 09:29:56

HTTP服務(wù)器問題

2009-08-21 13:25:49

C#打開軟鍵盤

2021-11-15 15:43:28

Windows 11升級(jí)微軟

2016-10-18 22:10:02

HTTP推送HTML

2018-06-12 15:39:41

容器部署云平臺(tái)

2009-06-12 10:25:42

Webservices

2009-10-10 08:36:18

2013-06-27 17:26:01

AndroidEditText

2011-11-01 09:29:08

Android 4.0

2012-04-25 22:45:46

2017-10-13 12:23:17

蘋果

2021-08-07 15:31:45

Windows 10Windows微軟

2018-05-17 14:52:11

Javascripthtmlcss

2009-08-06 16:01:30

C#接口成員

2009-06-10 21:46:02

JavaScript與

2012-12-19 11:40:13

思科路由器

2010-09-17 15:41:46

網(wǎng)絡(luò)協(xié)議分析軟件
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

午夜精品一区二区三区在线| 欧美性xxxxx极品少妇| 亚洲一区二区三区毛片| 九九热精彩视频| av自拍一区| 欧美日韩激情美女| 亚洲高清在线观看一区| av中文字幕免费| 亚洲精品男同| 日韩av在线播放资源| 欧美伦理视频在线观看| free性欧美hd另类精品| 成人动漫一区二区| 国产精品久久久av| 极品久久久久久| 色橹橹欧美在线观看视频高清| 欧美在线免费观看亚洲| 91精品国产吴梦梦| 国产精品秘入口| 国产成人h网站| 国产精品第1页| 日本熟妇毛耸耸xxxxxx| 日韩理论电影| 日韩精品在线观看一区二区| 一级黄色片国产| 中文字幕 在线观看| 亚洲欧洲av一区二区三区久久| 国产在线精品一区二区中文| 91国产免费视频| 国产偷自视频区视频一区二区| 视频在线一区二区| 亚洲一区二区观看| 亚洲精品高潮| 欧美精品一级二级三级| 青青艹视频在线| 亚洲按摩av| 国产欧美日韩另类视频免费观看| 国产精品久久精品国产| 国产精品人妻一区二区三区| 久久精品30| 久久久欧美一区二区| 波兰性xxxxx极品hd| 一区二区三区日本久久久 | 亚洲a∨精品一区二区三区导航| 亚洲欧美欧美一区二区三区| 亚洲日本japanese丝袜| 精品电影在线| 91影院在线观看| 成人3d动漫一区二区三区91| 国产欧美日韩综合精品一区二区三区| 美女视频黄 久久| 日韩免费av一区二区| 免费看日韩毛片| 亚洲啪啪91| 久久免费视频在线观看| 久久免费黄色网址| 在线观看国产精品入口| 久久久精品电影| 五月婷婷婷婷婷| 欧美一区电影| 在线观看欧美日韩| 免费一级suv好看的国产网站| 精品国产乱码久久久久久1区2匹 | 免费黄色片在线观看| 99精品久久99久久久久| 精品国产一区二区三| 人妻中文字幕一区| 91在线视频免费91| 美女三级99| 欧美美女色图| 日本一区二区动态图| 亚洲高清不卡一区| 老司机午夜在线视频| 亚洲视频一二三| 成人午夜免费剧场| 日韩av毛片| 亚洲成人1区2区| 乱妇乱女熟妇熟女网站| 老司机成人影院| 在线视频欧美精品| 九九热精品国产| 亚洲综合影院| 日韩精品在线免费播放| 男生草女生视频| 成人综合一区| 九九久久综合网站| 免费看日韩毛片| 日本一不卡视频| 91免费精品视频| 免费a视频在线观看| 91视频国产资源| 五月天久久综合网| 在线观看男女av免费网址| 亚洲sss视频在线视频| 亚洲狼人综合干| 免费看一区二区三区| 日韩福利视频在线观看| 国产探花视频在线播放| 午夜日韩电影| 欧美亚洲视频一区二区| 一级片视频网站| 成人午夜激情在线| 日韩欧美电影一区二区| 午夜激情在线| 在线精品视频免费播放| 欧美人与性动交α欧美精品| 亚州av一区| 久久躁日日躁aaaaxxxx| 91浏览器在线观看| 激情欧美日韩一区二区| 精品综合久久| 自由的xxxx在线视频| 欧美视频在线视频| 中文字幕1区2区| 不卡视频在线| 91精品国产91久久久久| 国产精品一区二区三区在线免费观看| www.在线欧美| 国产精品久久成人免费观看| 伊人久久在线| 精品久久99ma| 日本午夜在线观看| 日韩电影在线免费| 国产一级特黄a大片99| 人人干在线视频| 粉嫩av一区二区三区免费野| aaaaaaaa毛片| 色无极亚洲影院| 国产不卡av在线| 人妻中文字幕一区| 一区二区在线免费| 亚洲天堂av一区二区三区| 欧洲杯半决赛直播| 青青草99啪国产免费| 男人天堂网在线视频| 亚洲欧美日韩国产成人精品影院| 999精品视频在线| 日韩欧美中文字幕电影| 久久久久久久久久国产精品| 国产精品久久久久久无人区| 欧美激情自拍偷拍| 日韩有码免费视频| 羞羞答答一区二区| 日本成人黄色片| 神马午夜在线观看| 亚洲国产精品一区二区久久| 日本一二三区在线| 婷婷久久一区| 成人精品久久久| 2021av在线| 欧美午夜宅男影院| 中文天堂资源在线| 日韩黄色免费电影| 亚洲va久久久噜噜噜久久狠狠| a一区二区三区| 亚洲男人天堂2024| www.日韩一区| 国产三级精品在线| youjizzxxxx18| 日韩精品电影| 91在线高清免费观看| 黄色在线播放网站| 欧美一区二区在线免费观看| 日本a级片视频| 国产高清精品网站| 91丨porny丨探花| 久久久精品国产**网站| 91av国产在线| 欧洲天堂在线观看| 欧美在线制服丝袜| 三级在线观看免费大全| 国产成a人无v码亚洲福利| 美女av免费观看| 国产乱论精品| 欧美在线免费视频| www.国产精品.com| 在线播放国产精品二区一二区四区 | 欧美不卡激情三级在线观看| 久久这里只有精品国产| 99精品久久只有精品| 欧美一级裸体视频| 91av精品| 久久99精品久久久久久秒播放器 | 日韩精品一区二区三区免费观看| 国产日韩欧美中文在线播放| 亚洲小说区图片| 日韩精品极品在线观看| 中文字幕第2页| 亚洲激情图片小说视频| 免费成人深夜夜行p站| 日本伊人色综合网| 欧美久久久久久久久久久久久久| 神马日本精品| 国产精品久久久久久亚洲调教| 国产网友自拍视频导航网站在线观看 | 伊人亚洲精品| 国内精品久久久久影院优 | 日本福利视频导航| 懂色av一区二区| 国产精品久久久久久久av大片| 青春草在线免费视频| 亚洲人成电影在线| www.黄色片| 在线观看免费视频综合| 欧美一级高潮片| 国产欧美日韩不卡免费| 丰满人妻一区二区三区大胸| 日日夜夜一区二区| 9色porny| 97精品国产一区二区三区| 国产日韩欧美亚洲一区| 高清亚洲高清| 98视频在线噜噜噜国产| 黄视频网站在线| 亚洲系列中文字幕| 日韩永久免费视频| 91精品久久久久久久91蜜桃| 免费观看成人毛片| 一区二区免费视频| 国产精品麻豆免费版现看视频| www.欧美色图| 久久久久无码精品| 蜜臀99久久精品久久久久久软件| 9久久9毛片又大又硬又粗| 亚洲国产一区二区三区在线播放| 日本不卡一区二区三区在线观看| 中文字幕久久精品一区二区| 成人在线视频福利| 亚洲高清黄色| 欧美一级免费视频| 91黄页在线观看| 美日韩丰满少妇在线观看| www.久久热.com| 亚洲欧美成人一区二区在线电影| 欧美在线精品一区二区三区| 欧美疯狂做受xxxx富婆| 波多野结衣电车| 欧美香蕉大胸在线视频观看| 日韩欧美亚洲一区二区三区| 亚洲综合色丁香婷婷六月图片| 黄色录像一级片| 国产精品传媒入口麻豆| 国产又粗又黄又猛| 国产调教视频一区| 午夜精产品一区二区在线观看的| 26uuu精品一区二区| 日韩综合第一页| 成人高清免费观看| 丝袜熟女一区二区三区 | 精品久久久久久久久久久久| 国产无遮挡又黄又爽| 亚洲午夜在线电影| 日韩av一二三区| 亚洲1区2区3区4区| 日本在线观看中文字幕| 黄色成人在线免费| www.日本精品| 色综合久久久久网| 欧美一区二区三区久久久| 欧美在线综合视频| 中文字幕免费高清在线观看| 精品视频在线免费看| 中文字幕在线2019| 在线综合视频播放| 亚洲av无码乱码在线观看性色| 精品久久久三级丝袜| 人妻少妇精品无码专区久久| 亚洲美女福利视频网站| 成av人电影在线观看| 中文字幕亚洲一区| 2024最新电影在线免费观看| 欧美激情极品视频| 麻豆成全视频免费观看在线看| 欧美一级大片在线免费观看| 欧亚一区二区| 91久久久久久久久久久| 亚洲图色一区二区三区| 国产在线精品一区二区中文| 国产精品片aa在线观看| 中文字幕一区二区中文字幕| 黄色成人91| 成人免费观看视频在线观看| 免费在线一区观看| 影音先锋资源av| 久久精品人人做人人爽人人| 色欲一区二区三区精品a片| 亚洲图片有声小说| 中文字幕免费高清网站| 91精品国产美女浴室洗澡无遮挡| 欧美一级做性受免费大片免费| 亚洲色图综合网| 18+激情视频在线| 日本乱人伦a精品| 久久丁香四色| 美脚丝袜一区二区三区在线观看| 91久久电影| 久久国产成人精品国产成人亚洲| 欧美a级一区二区| 亚洲图片 自拍偷拍| 久久色.com| 国产大学生自拍| 日韩欧美在线第一页| 国产xxxx孕妇| 在线播放精品一区二区三区| 国产福利在线免费观看| 国产精品手机播放| 日韩理论电影中文字幕| 一区二区三区偷拍| 制服诱惑一区二区| 五月天婷婷在线观看视频| 国产亚洲精品精华液| 激情视频在线播放| 欧美日韩一二三区| 四虎精品成人影院观看地址| 久久国产加勒比精品无码| 二吊插入一穴一区二区| 国产高清在线精品一区二区三区| 日韩理论片av| 无码人妻丰满熟妇区毛片18| 国产成人综合亚洲91猫咪| 成人欧美一区二区三区黑人一 | 精品无码久久久久久久| 欧美日韩在线观看一区二区 | 亚洲欧美成人一区| 亚洲男人影院| 亚洲精品无码一区二区| 亚洲久草在线视频| 一级片一区二区三区| 国产一区二区三区在线观看视频 | 国产精品免费久久久久| 国产亚洲欧美在线精品| 亚洲成色999久久网站| 在线免费观看污| 91香蕉电影院| 欧美激情欧美| 在线观看国产中文字幕| 久久精品欧美日韩| 精产国品一区二区| 日韩精品在线私人| 波多野结衣在线播放| 成人免费看片网站| 亚洲天天影视网| 日韩欧美理论片| 日韩毛片在线免费观看| 91亚洲国产成人精品一区| 揄拍成人国产精品视频| 国产精品成人国产| 亚洲国产一区二区精品视频| 秋霞午夜av一区二区三区| jizz中文字幕| 欧美在线看片a免费观看| 国产三级在线免费| 国产精品wwww| 久久人人88| 手机在线国产视频| 亚洲欧美国产三级| www.麻豆av| 国内精品小视频在线观看| 久9re热视频这里只有精品| 日韩免费视频播放| 26uuu色噜噜精品一区| 国产中文字幕视频| 在线观看亚洲视频| 亚洲tv在线| 丁香色欲久久久久久综合网| 国产99一区视频免费| 日韩精品人妻中文字幕| 精品一区二区电影| 久久久久久久性潮| 8x8x华人在线| av激情综合网| 中文字幕在线观看你懂的| 久久国内精品一国内精品| 精品视频在线一区| 男人添女人下面高潮视频| 久久久国产午夜精品| 中文字幕人妻互换av久久| 不卡av在线网站| 卡通动漫精品一区二区三区| 能在线观看的av网站| 日韩一区欧美小说| 色欲av永久无码精品无码蜜桃| 日韩av电影中文字幕| 亚洲成av人片一区二区密柚| 国产精品入口麻豆| 在线观看中文字幕不卡| av片哪里在线观看| 久久久久国产精品视频| 老司机午夜精品| 午夜偷拍福利视频| 中文字幕亚洲字幕| 国产精品99久久免费| 亚洲色欲综合一区二区三区| 国产精品久久二区二区| 午夜精品久久久久久久第一页按摩| 欧美亚洲国产视频| 中文字幕免费精品| 无码h肉动漫在线观看| 欧美一区二区三区四区视频| 欧美伦理91|