精品欧美一区二区三区在线观看 _久久久久国色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)

色婷婷久久久| 嗯~啊~轻一点视频日本在线观看| 日韩精品国产欧美| 日韩一二三在线视频播| 中文字幕乱码在线人视频| 国产蜜臀av在线播放| 91麻豆精东视频| 国产精品一区二区久久久久| 欧美黑人精品一区二区不卡| 任你弄精品视频免费观看| 欧美在线播放高清精品| 青青草综合视频| 毛片在线播放网站| 国产麻豆精品视频| 日韩美女毛茸茸| 欧美日韩国产精品综合| 国产欧美日韩视频在线| 欧美r级在线观看| 中文久久久久久| 人妖欧美1区| 黑鬼大战白妞高潮喷白浆| 精品国产九九九| 久久高清一区| 欧美激情视频在线免费观看 欧美视频免费一 | 少妇精品视频一区二区| 日本不卡免费在线视频| 97超级碰碰碰久久久| 成年人一级黄色片| 欧美精品一区二区三区中文字幕| 精品国产91亚洲一区二区三区婷婷 | 国产精品自拍网| 精品成人av一区二区在线播放| 1024精品久久久久久久久| 亚洲午夜激情免费视频| 亚洲AV无码国产精品| 91成人午夜| 91精品国产综合久久久蜜臀粉嫩 | 久久精品免费在线| 伊人青青综合网| 中文字幕在线成人| 自拍偷拍亚洲天堂| 曰本一区二区三区视频| 亚洲精品国产欧美| 黄色免费视频网站| 亚洲精品v亚洲精品v日韩精品| 欧美日韩高清一区二区不卡| 国产三级三级三级看三级| 九色porny丨入口在线| 亚洲国产欧美一区二区三区丁香婷| 一区二区三区我不卡| 国产福利小视频在线观看| 久久久久久久久伊人| 黄色国产精品一区二区三区| 六月婷婷综合网| 国产精品白丝jk黑袜喷水| 国产一区深夜福利| 国产精品熟女久久久久久| 老司机一区二区| 国产精品自拍小视频| 伊人网av在线| 久久精品国产**网站演员| 国产日韩一区在线| 国产精品无码久久av| 狠狠色丁香久久婷婷综| 成人在线小视频| 国产模特av私拍大尺度| 国产精品99久久久久久宅男| 91超碰在线电影| 亚洲国产精品二区| 99视频一区二区| 美女一区视频| 在线观看麻豆蜜桃| 亚洲码国产岛国毛片在线| 中文字幕の友人北条麻妃| 女人天堂av在线播放| 亚洲成人动漫一区| 免费成人在线视频网站| 日韩电影大全网站| 欧美精品视频www在线观看| 久久久精品视频国产| 黄色免费大全亚洲| 亚洲视频综合网| 欧美手机在线观看| 亚洲激情在线| 国产精品老女人视频| 国产精品视频第一页| k8久久久一区二区三区| 欧美日韩免费高清| 日本www在线观看视频| 亚洲综合在线观看视频| 国产一区二区三区精彩视频 | 亚洲精品免费av| 欧美综合视频在线| 欧美国产精品中文字幕| 国产性生活免费视频| 少妇在线看www| 欧美狂野另类xxxxoooo| 在线精品视频播放| 欧美老女人另类| 九九热精品在线| 亚洲天堂五月天| 国产91高潮流白浆在线麻豆| 日本精品一区| 激情网站在线| 欧美日韩亚洲综合在线| 久久精品女同亚洲女同13| blacked蜜桃精品一区| 欧美大片免费看| 成人黄色免费网| 成人a区在线观看| 亚洲精品一区二区三区樱花| a级片免费在线观看| 欧美精品丝袜久久久中文字幕| 日韩无码精品一区二区| 亚洲免费二区| 国产成人一区二区三区| 俄罗斯嫩小性bbwbbw| 国产精品高潮呻吟| 超碰影院在线观看| 啪啪国产精品| 久久久久久久久久久91| 一区二区日韩视频| 国产日韩一级二级三级| 国产婷婷一区二区三区| 涩爱av色老久久精品偷偷鲁| 最近2019年好看中文字幕视频| 国产一级精品视频| 成人精品免费视频| 真人做人试看60分钟免费| 99久久综合国产精品二区| 日韩成人在线视频观看| 久久久国产精品黄毛片| 精品在线亚洲视频| 午夜免费电影一区在线观看| 成人短视频app| 亚洲国产精品一区二区久| 激情视频在线播放| 国产在线精品一区二区夜色 | 在线观看视频一区二区欧美日韩| 亚洲自拍偷拍精品| 韩国久久久久| av一区二区三区四区电影| av大大超碰在线| 4438亚洲最大| 老熟妻内射精品一区| 久久av资源网| 性做爰过程免费播放| 久久久久黄色| 日韩在线观看精品| 一区二区三区免费在线视频| 国产精品国产精品国产专区不蜜| 亚洲国产成人va在线观看麻豆| 欧洲三级视频| 国产精品自产拍高潮在线观看| av基地在线| 欧美日本精品一区二区三区| 午夜精品一区二区三级视频| 狠狠色综合日日| 国产树林野战在线播放| 精品视频在线播放一区二区三区| 久久夜色精品国产亚洲aⅴ| 国产毛片一区二区三区va在线 | 中文字幕一区综合| 国产精品亚洲一区二区在线观看| 久久综合五月天| 朝桐光av在线一区二区三区| 亚洲国产日韩a在线播放性色| 四虎精品一区二区| 国产精品毛片| 日韩资源av在线| 成人免费黄色| 欧美成人激情图片网| 超碰在线观看99| 狠狠干狠狠久久| 微拍福利一区二区| 狠狠色狠狠色综合系列| 男女猛烈激情xx00免费视频| 自拍偷拍精品| 国产日韩精品一区二区| 怡红院红怡院欧美aⅴ怡春院| 精品国产91久久久久久久妲己| 国产午夜免费视频| 国产亚洲欧美日韩日本| 中文字幕资源在线观看| 国产精品99一区二区| 久久久久久久久久久久久9999| 另类中文字幕国产精品| 欧美另类99xxxxx| 青春有你2免费观看完整版在线播放高清 | 视频在线观看免费影院欧美meiju 视频一区中文字幕精品 | 66视频精品| 久久久99国产精品免费| 男人亚洲天堂| 97精品视频在线播放| 91免费在线| 亚洲第一精品夜夜躁人人爽| 国产精品成人久久久| 亚洲国产一区二区在线播放| 东方伊人免费在线观看| 从欧美一区二区三区| 五月婷婷之综合激情| 18成人免费观看视频| 亚洲激情一区二区| 91九色鹿精品国产综合久久香蕉| 国产精品视频99| segui88久久综合| 精品国产一区二区三区久久久狼| 熟妇高潮一区二区三区| 欧美福利视频一区| 麻豆成人免费视频| 亚洲黄色性网站| 91免费在线看片| 97se亚洲国产综合在线| 日本一二三四区视频| 日韩有码一区二区三区| 久久精品国产sm调教网站演员| 欧美电影《轻佻寡妇》| 日本10禁啪啪无遮挡免费一区二区 | 大尺度做爰床戏呻吟舒畅| 国产一区二区三区免费在线观看| 欧美成人免费高清视频| 99精品视频免费观看| 日韩视频一二三| 久久一区二区三区喷水| 久久精品女人的天堂av| 久久97精品| 成人在线视频网址| 日韩中文字幕视频网| 成人黄色免费网站在线观看| 99只有精品| 国产精品h片在线播放| 午夜av不卡| 97视频免费在线观看| 欧美精品videossex少妇| 美女av一区二区三区 | 国产女人高潮的av毛片| 欧美色图免费看| 国产精品suv一区| 欧美性色19p| 日韩av大片在线观看| 婷婷夜色潮精品综合在线| 久久综合综合久久| 亚洲一级电影视频| 久久免费小视频| 亚洲一区二区三区四区五区中文| 久草福利资源在线观看| 亚洲成人一区在线| 日韩精品视频免费播放| 亚欧色一区w666天堂| 日韩手机在线观看| 亚洲1区2区3区4区| 国产精品黄色大片| 日本高清不卡视频| 国产99久久久久久免费看| 欧洲亚洲国产日韩| 一区二区三区日| 欧美一区二区三区四区在线观看| 精品人妻一区二区三区浪潮在线| 日韩美女主播在线视频一区二区三区| 国产www免费观看| 精品国产乱码久久久久久老虎| 囯产精品一品二区三区| 精品久久一区二区三区| 五月婷婷丁香六月| 亚洲欧洲第一视频| 日本中文字幕在线看| 久热精品视频在线观看一区| 亚洲丝袜一区| 26uuu亚洲伊人春色| 快播电影网址老女人久久| 国产精品一区二区三区免费视频| 日韩欧美专区| 高清不卡一区二区三区| 欧美成人一区在线观看| 欧美在线一二三区| 天天影视综合| 成人在线国产视频| 手机精品视频在线观看| 欧美日韩理论片| 99久久亚洲一区二区三区青草| 日韩乱码人妻无码中文字幕久久| 国产精品免费丝袜| 久草视频免费播放| 91久久精品一区二区二区| 91av久久久| 亚洲国产精品嫩草影院久久| 国产一级免费在线观看| 欧美成人免费全部| 都市激情综合| 91亚洲va在线va天堂va国 | 欧美日韩精品免费观看视完整| 国产精品最新在线观看| 国产精品极品| 欧美日韩在线高清| 女同性一区二区三区人了人一| 无码 制服 丝袜 国产 另类| 蜜臀99久久精品久久久久久软件| 中文字幕第66页| 久久久久国产成人精品亚洲午夜| 伊人久久久久久久久久久久久久| 婷婷六月综合亚洲| 99国产精品一区二区三区| 亚洲欧洲在线免费| 国产经典三级在线| 国产欧美中文字幕| 午夜a一级毛片亚洲欧洲| 成人在线观看www| 日韩一区精品字幕| 亚洲图片综合网| 综合久久综合久久| 69视频免费看| 亚洲精品国产suv| 色呦呦在线视频| 国产精品天天狠天天看| 婷婷五月色综合香五月| 久久亚洲国产成人精品无码区 | 国产美女久久精品| 日本韩国欧美超级黄在线观看| 无码人妻精品一区二区三区99v| 日韩精品欧美精品| 人妻在线日韩免费视频| 一区二区三区免费| 91黄色在线视频| 一本色道久久88综合日韩精品| 乡村艳史在线观看| 国产在线一区二| 一区三区视频| 性折磨bdsm欧美激情另类| 亚洲日本乱码在线观看| 中文字幕+乱码+中文乱码91| 亚洲精品自产拍| 日本黄色免费在线| 狠狠色综合色区| 99精品视频免费全部在线| 一级黄色片毛片| 亚洲一区二区欧美| 亚洲国产福利视频| 欧美国产日韩免费| 老司机亚洲精品一区二区| 热这里只有精品| 激情五月婷婷综合网| 国产精品视频看看| 91麻豆精品国产91久久久久久久久 | 中文字幕无码精品亚洲资源网久久| 国产酒店精品激情| 国产1区2区3区4区| 欧美一级夜夜爽| 中文字幕中文字幕在线中高清免费版 | 国产 日韩 欧美在线| 成人在线一区二区三区| 久久久久久久9999| 精品对白一区国产伦| 两个人看的在线视频www| 久久99蜜桃综合影院免费观看| av不卡在线| 成人性生交大免费看| 欧美丝袜自拍制服另类| 免费在线毛片网站| 91在线视频免费| 狠狠爱综合网| www.黄色网| 日韩欧美极品在线观看| 免费资源在线观看| 国产欧美一区二区三区在线| 91日韩欧美| 无码人妻一区二区三区精品视频| 亚洲18女电影在线观看| 国产一级片在线播放| 成人激情视频小说免费下载| 欧美午夜精品| 中国黄色a级片| 欧美日韩色综合| 色屁屁www国产馆在线观看| 国产一区二区免费在线观看| 丝袜亚洲另类丝袜在线| 亚洲精品天堂网| 精品久久一区二区三区| 国产日韩另类视频一区| 波多野结衣激情| caoporm超碰国产精品| 亚洲av无码乱码国产精品fc2| 久久久999成人| 久草在线综合| 57pao国产成永久免费视频| 亚洲一区二区三区中文字幕| 韩国福利在线| 91嫩草国产在线观看| 午夜亚洲性色福利视频| 国产精品视频一区二区在线观看| 精品99久久久久久| 成人国产精品入口免费视频| 国产1区2区3区中文字幕| 久久久久国产精品厨房| 亚洲AV无码乱码国产精品牛牛 | 日韩专区在线观看| 狠狠一区二区三区| 99久久99精品| 色婷婷狠狠综合| 久草在线新免费首页资源站| 日韩在线电影一区|