Android InputMethodManager輸入法簡(jiǎn)介
一、結(jié)構(gòu)
public final class InputMethodManager extends Object
Java.lang.Object
android.view.inputmethod.InputMethodManager
二、類概述
整個(gè)輸入法框架(IMF)結(jié)構(gòu)的核心API,應(yīng)用程序之間進(jìn)行調(diào)度和當(dāng)前輸入法交互。你可以用Context.getSystemService()取得這一接口的實(shí)例。
架構(gòu)總述(Architecture Overview)
輸入法框架(IMF)共有三個(gè)主要部分:
* 輸入法管理器,管理各部分的交互。它是一個(gè)客戶端API,存在于各個(gè)應(yīng)用程序的context中,用來(lái)溝通管理所有進(jìn)程間交互的全局系統(tǒng)服務(wù)。
* 輸入法(IME) ,實(shí)現(xiàn)一個(gè)允許用戶生成文本的獨(dú)立交互模塊。系統(tǒng)綁定一個(gè)當(dāng)前的輸入法。使其創(chuàng)建和生成,決定輸入法何時(shí)隱藏或者顯示它的UI。同一時(shí)間只能有一個(gè)IME運(yùn)行。
* 客戶應(yīng)用程序,通過(guò)輸入法管理器控制輸入焦點(diǎn)和IME的狀態(tài)。一次只能有一個(gè)客戶端使用IME。
應(yīng)用程序(Applications)
大多數(shù)情況下,使用標(biāo)準(zhǔn)TextView或其子類的應(yīng)用程序只要做少量工作就可以讓軟鍵盤(soft input methods)正常工作。你要注意的是:
* 正確設(shè)置你的可編輯文本視圖inputType,這樣輸入法有足夠的上下文幫助用戶向其輸入文本。
* 當(dāng)輸入法顯示時(shí)妥善處理隱藏屏幕空間。理想的情況下應(yīng)用程序應(yīng)處理窗口變小,如必要你可以利用系統(tǒng)執(zhí)行平移窗口。你應(yīng)在活動(dòng)(activity)中設(shè)置windowSoftInputMode屬性或調(diào)整創(chuàng)建窗口的相應(yīng)值,以便系統(tǒng)決定平移或縮放(它會(huì)嘗試自動(dòng)調(diào)整但可能出錯(cuò))。
* 你還可以通過(guò)相同的windowSoftInputMode控制窗口的首選軟鍵盤狀態(tài)(打開、關(guān)閉等)。
通過(guò)API可以與IMF及其IME交互實(shí)現(xiàn)更細(xì)致的控制,如顯示或輸入?yún)^(qū)域,用戶選取某輸入法等。
當(dāng)你編寫自己的文本編輯器的時(shí)候,你要實(shí)現(xiàn)onCreateInputConnection(EditorInfo)以返回你的InputConnection的接口實(shí)例,用來(lái)允許IME和你的文本編輯域來(lái)交互。
輸入法(Input Methods)
一個(gè)輸入法(IME)是Service(服務(wù))的實(shí)現(xiàn),通常繼承自 InputMethodService。IME提供核心的 InputMethod接口,盡管提供InputMethod通常是由InputMethodService來(lái)處理,而IME的實(shí)現(xiàn)只需要處理更高層的API。
更多信息參閱InputMethodService。
安全(Security)
輸入法關(guān)系到許多安全問(wèn)題,因其基本不受約束地驅(qū)動(dòng)UI并監(jiān)視用戶輸入。Android輸入法框架還允許調(diào)度第三方IME,所必須小心以限制他們的選擇和相互作用。
以下是IMF背后安全架構(gòu)的要點(diǎn):
* 只允許系統(tǒng)訪問(wèn)經(jīng)BIND_INPUT_METHOD權(quán)限許可訪問(wèn)IME的InputMethod接口。通過(guò)綁定到要求這個(gè)權(quán)限的服務(wù)來(lái)強(qiáng)制實(shí)現(xiàn)這一點(diǎn)。所以系統(tǒng)可以保證沒(méi)有不被信任的客戶端在它的控制之外訪問(wèn)到當(dāng)前的輸入法。
* IMF中可能有許多客戶進(jìn)程,但在同一時(shí)間只有一個(gè)是激活的。未激活客戶端不能與IMF核心交互通過(guò)下述機(jī)制實(shí)現(xiàn)。
* 輸入法客戶端只可訪問(wèn)InputMethodSession接口。每個(gè)客戶端創(chuàng)建一個(gè)接口實(shí)例,只有與激活客戶相關(guān)聯(lián)的會(huì)話的調(diào)用才會(huì)被IME處理。這點(diǎn)通過(guò)普通IME的 AbstractInputMethodService執(zhí)行,必須由IME顯式的處理,而IME正是InputMethodSession的自定義實(shí)現(xiàn)。
* 只有激活的InputConnection接受操作。IMF通知每個(gè)客戶進(jìn)程是否激活,IMF忽略非激活進(jìn)程對(duì)當(dāng)前輸入聯(lián)接的調(diào)用。這確保了當(dāng)前IME只將事件和文本編輯交付用戶可見焦點(diǎn)的UI。
* 一個(gè)IME永遠(yuǎn)不能在屏幕關(guān)閉時(shí)與 InputConnection交互。這是通過(guò)當(dāng)屏幕關(guān)閉時(shí)所有客戶端無(wú)效,并防止不良IME在用戶無(wú)法關(guān)注其行為時(shí)驅(qū)動(dòng)UI。
* 客戶應(yīng)用程序可以要求系統(tǒng)選取一個(gè)新的IME,但不能編程式選擇之一。這是避免惡意程序在用戶導(dǎo)航到其它應(yīng)用程序時(shí),選擇自己的IME并保持運(yùn)行。也就是說(shuō),IME可以編程式的要求系統(tǒng)選擇其它IME,因它完全控制了用戶輸入。
用戶在可切換至一個(gè)新的IME前必須顯式的啟用它,以確認(rèn)系統(tǒng)了解它,使其處于可用狀態(tài)。
三、常量
public static final int HIDE_IMPLICIT_ONLY
hideSoftInputFromWindow(IBinder, int)中的標(biāo)志,表示如果用戶未顯式地顯示軟鍵盤窗口,則隱藏窗口。
常量值: 1 (0x00000001)
public static final int HIDE_NOT_ALWAYS
hideSoftInputFromWindow(IBinder, int)中的標(biāo)志,表示軟鍵盤窗口總是隱藏,除非開始時(shí)以SHOW_FORCED顯示。
常量值: 2 (0x00000002)
public static final int RESULT_HIDDEN
showSoftInput(View, int, ResultReceiver)和hideSoftInputFromWindow(IBinder, int, ResultReceiver)中ResultReceiver結(jié)果代碼標(biāo)志:軟鍵盤窗口從顯示切換到隱藏時(shí)的狀態(tài)。
常量值: 3 (0x00000003)
public static final int RESULT_SHOWN
showSoftInput(View, int, ResultReceiver)和hideSoftInputFromWindow(IBinder, int, ResultReceiver)中ResultReceiver結(jié)果代碼標(biāo)志:軟鍵盤窗口從隱藏切換到顯示時(shí)的狀態(tài)。
常量值: 2 (0x00000002)
public static final int RESULT_UNCHANGED_HIDDEN
showSoftInput(View, int, ResultReceiver)和hideSoftInputFromWindow(IBinder, int, ResultReceiver)中ResultReceiver結(jié)果代碼標(biāo)志:軟鍵盤窗口不變保持隱藏時(shí)的狀態(tài)。
常量值: 1 (0x00000001)
public static final int RESULT_UNCHANGED_SHOWN
showSoftInput(View, int, ResultReceiver)和hideSoftInputFromWindow(IBinder, int, ResultReceiver)中ResultReceiver結(jié)果代碼標(biāo)志:軟鍵盤窗口不變保持顯示時(shí)的狀態(tài)。
常量值: 0 (0x00000000)
public static final int SHOW_FORCED
showSoftInput(View, int)標(biāo)志,表示用戶強(qiáng)制打開輸入法(如長(zhǎng)按菜單鍵),一直保持打開直至只有顯式關(guān)閉。
常量值: 2 (0x00000002)
public static final int SHOW_IMPLICIT
showSoftInput(View, int)標(biāo)志,表示隱式顯示輸入窗口,非用戶直接要求。窗口可能不顯示。
常量值: 1 (0x00000001)
四、公共方法
public void displayCompletions (View view, CompletionInfo[] completions)
?。ㄗg者注:輸入法自動(dòng)完成)
public InputMethodSubtype getCurrentInputMethodSubtype ()
(譯者注:獲取當(dāng)前輸入法類型?)
public List<InputMethodInfo> getEnabledInputMethodList ()
?。ㄗg者注:獲取已啟用輸入法列表?)
public List<InputMethodSubtype> getEnabledInputMethodSubtypeList (InputMethodInfo imi, boolean allowsImplicitlySelectedSubtypes)
public List<InputMethodInfo> getInputMethodList ()
?。ㄗg者注:獲取輸入法列表)
public Map<InputMethodInfo, List<InputMethodSubtype>> getShortcutInputMethodsAndSubtypes ()
public void hideSoftInputFromInputMethod (IBinder token, int flags)
關(guān)閉/隱藏輸入法軟鍵盤區(qū)域,用戶不再看到或與其交互。只能由當(dāng)前激活輸入法調(diào)用,因需令牌(token)驗(yàn)證。
參數(shù)
token 在輸入法啟動(dòng)時(shí)提供令牌驗(yàn)證,驗(yàn)證后可對(duì)其進(jìn)行操作。
flags 提供額外的操作標(biāo)志。當(dāng)前可以為0或 HIDE_IMPLICIT_ONLY, HIDE_NOT_ALWAYS等位設(shè)置。
public boolean hideSoftInputFromWindow (IBinder windowToken, int flags)
hideSoftInputFromWindow(IBinder, int, ResultReceiver)的無(wú)返回值版:從窗口上下文中確定當(dāng)前接收輸入的窗口,隱藏其輸入法窗口
參數(shù)
windowToken 由窗口請(qǐng)求View.getWindowToken()返回得到的令牌(token)。
flags 提供額外的操作標(biāo)志。當(dāng)前可以為0或 HIDE_IMPLICIT_ONLY位設(shè)置。
public boolean hideSoftInputFromWindow (IBinder windowToken, int flags, ResultReceiver resultReceiver)
從窗口上下文中確定當(dāng)前接收輸入的窗口,要求隱藏其軟鍵盤窗口。它可由用戶調(diào)用并得到結(jié)果而不僅僅是顯式要求輸入法窗口隱藏。
參數(shù)
windowToken 由窗口請(qǐng)求View.getWindowToken()返回得到的令牌(token)。
flags 提供額外的操作標(biāo)志。當(dāng)前可以為0或 HIDE_IMPLICIT_ONLY位設(shè)置。
resultReceiver 如不為空,當(dāng)IME處理請(qǐng)求告訴你完成時(shí)調(diào)用。你收到的結(jié)果碼可以是RESULT_UNCHANGED_SHOWN, RESULT_UNCHANGED_HIDDEN, RESULT_SHOWN, 或RESULT_HIDDEN。
public void hideStatusIcon (IBinder imeToken)
?。ㄗg者注:隱藏狀態(tài)欄圖標(biāo)?)
public boolean isAcceptingText ()
當(dāng)前服務(wù)視圖接受全文編輯返回真。沒(méi)有輸入法聯(lián)接為false,這時(shí)其只能處理原始按鍵事件。
public boolean isActive (View view)
視圖為當(dāng)前輸入的激活視圖時(shí)返回真。
public boolean isActive ()
輸入法中的任意視圖激活時(shí)返回真。
public boolean isFullscreenMode ()
判斷相關(guān)輸入法是否以全屏模式運(yùn)行。全屏?xí)r,完全覆蓋你的UI時(shí),返回真,否則返回假。
public boolean isWatchingCursor (View view)
如當(dāng)前輸入法要看到輸入編輯者的光標(biāo)位置時(shí)返回真。
public void restartInput (View view)
如有輸入法聯(lián)接至視圖,重啟輸入以顯示新的內(nèi)容??稍谝韵虑闆r時(shí)調(diào)用此方法:視圖的文字導(dǎo)致輸入法外觀變化或有按鍵輸入流,如應(yīng)用程序調(diào)用TextView.setText()時(shí)。
參數(shù)
view 文字發(fā)生變化的視圖。
public void sendAppPrivateCommand (View view, String action, Bundle data)
對(duì)當(dāng)前輸入法調(diào)用 InputMethodSession.appPrivateCommand()。
參數(shù)
view 可選的發(fā)送命令的視圖,如你要發(fā)送命令而不考慮視圖附加到輸入法,此項(xiàng)可以為空。
action 執(zhí)行的命令名稱。必須是作用域的名稱,如前綴包名稱,這樣不同的開發(fā)者就不會(huì)創(chuàng)建沖突的命令。
data 命令中包含的任何數(shù)據(jù)。
public boolean setCurrentInputMethodSubtype (InputMethodSubtype subtype)
?。ㄗg者注:此方法為3.0中新增的方法)
public void setInputMethod (IBinder token, String id)
強(qiáng)制切換到新輸入法部件。只能由持有token的應(yīng)用程序(application)或服務(wù)(service) 調(diào)用當(dāng)前激活輸入法。
參數(shù)
token 在輸入法啟動(dòng)時(shí)提供令牌驗(yàn)證,驗(yàn)證后可對(duì)其進(jìn)行操作。
id 切換到新輸入法的唯一標(biāo)識(shí)。
public void setInputMethodAndSubtype (IBinder token, String id, InputMethodSubtype subtype)
強(qiáng)制切換到一個(gè)新的輸入法和指定的類型。只能由持有token的應(yīng)用程序(application)或服務(wù)(service) 調(diào)用當(dāng)前激活輸入法。(譯者注:此方法為3.0中新增的方法)
參數(shù)
token 在輸入法啟動(dòng)時(shí)提供令牌驗(yàn)證,驗(yàn)證后可對(duì)其進(jìn)行操作。
id 切換到新輸入法的唯一標(biāo)識(shí)。
subtype 切換到新輸入法的新類型。
public void showInputMethodAndSubtypeEnabler (String topId)
?。ㄗg者注:此方法為3.0中新增的方法)
public void showInputMethodPicker ()
?。ㄗg者注:顯示輸入法菜單列表)
public boolean showSoftInput (View view, int flags, ResultReceiver resultReceiver)
如需要,顯式要求當(dāng)前輸入法的軟鍵盤區(qū)域向用戶顯示。當(dāng)用戶與視圖交互,用戶表示要開始執(zhí)行輸入操作時(shí),可以調(diào)用此方法。
參數(shù)
view 當(dāng)前焦點(diǎn)視圖,可接受軟鍵盤輸入。
flags 提供額外的操作標(biāo)志。當(dāng)前可以是0或SHOW_IMPLICIT 位設(shè)置。
resultReceiver 如不為空,當(dāng)IME處理請(qǐng)求告訴你完成時(shí)調(diào)用。你收到的結(jié)果碼可以是RESULT_UNCHANGED_SHOWN, RESULT_UNCHANGED_HIDDEN, RESULT_SHOWN, 或 RESULT_HIDDEN 。
public boolean showSoftInput (View view, int flags)
showSoftInput(View, int, ResultReceiver)的無(wú)返回值版:如需要,顯式要求當(dāng)前輸入法的軟鍵盤區(qū)域向用戶顯示。
參數(shù)
view 當(dāng)前焦點(diǎn)視圖,可接受軟鍵盤輸入。
flags 提供額外的操作標(biāo)志。當(dāng)前可以是0或SHOW_IMPLICIT 位設(shè)置。
public void showSoftInputFromInputMethod (IBinder token, int flags)
顯示輸入法的軟鍵盤區(qū)域,這樣用戶可以到看到輸入法窗口并能與其交互。只能由當(dāng)前激活輸入法調(diào)用,因需令牌(token)驗(yàn)證。
參數(shù)
token 在輸入法啟動(dòng)時(shí)提供令牌驗(yàn)證,驗(yàn)證后可對(duì)其進(jìn)行操作。
flags 提供額外的操作標(biāo)志??梢允?或 SHOW_IMPLICIT, SHOW_FORCED位設(shè)置。
public void showStatusIcon (IBinder imeToken, String packageName, int iconId)
?。ㄗg者注:顯示狀態(tài)欄圖標(biāo)?)
public boolean switchToLastInputMethod (IBinder imeToken)
public void toggleSoftInput (int showFlags, int hideFlags)
?。ㄗg者注:切換軟鍵盤)
public void toggleSoftInputFromWindow (IBinder windowToken, int showFlags, int hideFlags)
本方法切換輸入法的窗口顯示。如輸入窗口已顯示,它隱藏。如無(wú)輸入窗口則顯示。
參數(shù)
windowToken 由窗口請(qǐng)求View.getWindowToken()返回得到的令牌(token)。
showFlags 提供額外的操作標(biāo)志。當(dāng)前可以為0或 HIDE_IMPLICIT_ONLY位設(shè)置。
hideFlags 提供額外的操作標(biāo)志。可以是0或 HIDE_IMPLICIT_ONLY, HIDE_NOT_ALWAYS位設(shè)置。
public void updateCursor (View view, int left, int top, int right, int bottom)
返回窗口的當(dāng)前光標(biāo)位置。
public void updateExtractedText (View view, int token, ExtractedText text)
?。ㄗg者注:當(dāng)內(nèi)容變化時(shí)文本編輯器調(diào)用此方法,通知其新提取文本。)
public void updateSelection (View view, int selStart, int selEnd, int candidatesStart, int candidatesEnd)
返回當(dāng)前選擇區(qū)域。
android如何調(diào)用顯示和隱藏系統(tǒng)默認(rèn)的輸入法
1.調(diào)用顯示系統(tǒng)默認(rèn)的輸入法
方法一、
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.showSoftInput(m_receiverView(接受軟鍵盤輸入的視圖(View)),InputMethodManager.SHOW_FORCED(提供當(dāng)前操作的標(biāo)記,SHOW_FORCED表示強(qiáng)制顯示));
方法二、
InputMethodManager m=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
m.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); (這個(gè)方法可以實(shí)現(xiàn)輸入法在窗口上切換顯示,如果輸入法在窗口上已經(jīng)顯示,則隱藏,如果隱藏,則顯示輸入法到窗口上)
2.調(diào)用隱藏系統(tǒng)默認(rèn)的輸入法
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS); (WidgetSearchActivity是當(dāng)前的Activity)
3.獲取輸入法打開的狀態(tài)
InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
boolean isOpen=imm.isActive();
isOpen若返回true,則表示輸入法打開
1、//隱藏軟鍵盤
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).hideSoftInputFromWindow(WidgetSearchActivity.this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
2、//顯示軟鍵盤,控件ID可以是EditText,TextView
((InputMethodManager)getSystemService(INPUT_METHOD_SERVICE)).showSoftInput(控件ID, 0);
3、不自動(dòng)彈出鍵盤:
帶有EditText控件的在第一次顯示的時(shí)候會(huì)自動(dòng)獲得focus,并彈出鍵盤,如果不想自動(dòng)彈出鍵盤,有兩種方法:
方法一:在mainfest文件中把對(duì)應(yīng)的activity設(shè)置
android:windowSoftInputMode="stateHidden" 或者android:windowSoftInputMode="stateUnchanged"。
方法二:可以在布局中放一個(gè)隱藏的TextView,然后在onCreate的時(shí)候requsetFocus。
注意TextView不要設(shè)置Visiable=gone,否則會(huì)失效
,可以在布局中放一個(gè)隱藏的TextView,然后在onCreate的時(shí)候requsetFocus。
注意TextView不要設(shè)置Visiable=gone,否則會(huì)失效
<TextView
android:id="@+id/text_notuse"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:focusable="true"
android:focusableInTouchMode="true" />
TextView textView = (TextView)findViewById(R.id.text_notuse);
textView.requestFocus();
Android軟鍵盤學(xué)習(xí)InputMethodManager
當(dāng)我們?cè)贏ndroid提供的EditText中單擊的時(shí)候,會(huì)自動(dòng)的彈出軟鍵盤,其實(shí)對(duì)于軟鍵盤的控制我們可以通過(guò)InputMethodManager這個(gè)類來(lái)實(shí)現(xiàn)。我們需要控制軟鍵盤的方式就是兩種一個(gè)是像EditText那樣當(dāng)發(fā)生onClick事件的時(shí)候出現(xiàn)軟鍵盤,還有就是當(dāng)打開某個(gè)程序的時(shí)候自動(dòng)的彈出軟鍵盤。
public class InputMethodManagerTest extends Activity implements OnClickListener{
private Button button;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
LinearLayout layout=new LinearLayout(this);
LinearLayout.LayoutParams layoutParams=new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT,LinearLayout.LayoutParams.WRAP_CONTENT);
button=new Button(this);
button.setId(123);
button.setText("Hello GaoMatrix");
button.setOnClickListener(this);
layout.addView(button, layoutParams);
setContentView(layout);
/**
* 用一個(gè)定時(shí)器控制當(dāng)打開這個(gè)Activity的時(shí)候就出現(xiàn)軟鍵盤
*/
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}, 2000);
}
/**
* 當(dāng)單擊事件的時(shí)候觸發(fā)顯示軟鍵盤
*/
@Override
public void onClick(View v) {
InputMethodManager inputMethodManager=(InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
inputMethodManager.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
}
}
這個(gè)InputMethodManager類里面的toggleSoftInput方法的API中的解釋是:
This method toggles the input method window display. If the input window is already displayed, it gets hidden. If not the input window will be displayed.
這個(gè)方法在界面上切換輸入法的功能,如果輸入法出于現(xiàn)實(shí)狀態(tài),就將他隱藏,如果處于隱藏狀態(tài),就顯示輸入法。
而對(duì)于第二中方式進(jìn)入Activity就自動(dòng)顯示軟鍵盤,在一個(gè)定時(shí)器中,也就是在一個(gè)線程中執(zhí)行,只不過(guò)是延遲2秒執(zhí)行,原因是在onCreate函數(shù)中Android程序未將屏幕繪制完成。
以上就是本文的全部?jī)?nèi)容,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Android中的windowSoftInputMode屬性詳解
- android 使用uinput模擬輸入設(shè)備的方法
- Android WebView 不支持 H5 input type="file" 解決方法
- Android 數(shù)據(jù)存儲(chǔ)之 FileInputStream 工具類及FileInputStream類的使用
- Android編程開發(fā)之EditText中inputType屬性小結(jié)
- Android WebView支持input file啟用相機(jī)/選取照片功能
- Android網(wǎng)頁(yè)H5 Input選擇相機(jī)和系統(tǒng)相冊(cè)
- 詳解Android WebView的input上傳照片的兼容問(wèn)題
- Android自定義PasswordInputView密碼輸入
- 從"Show?tabs"了解Android?Input系統(tǒng)
相關(guān)文章
Android實(shí)現(xiàn)多級(jí)列表中的新建功能
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)多級(jí)列表中的新建功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-06-06
Android自定義View實(shí)現(xiàn)圓弧進(jìn)度效果逐步完成過(guò)程
在Android開發(fā)中,通過(guò)自定義View實(shí)現(xiàn)自己想要的效果是作為android開發(fā)程序員的一項(xiàng)必備技能,自定義View對(duì)于android開發(fā)來(lái)說(shuō)也是比較難的一項(xiàng)技術(shù)2023-04-04
Android實(shí)現(xiàn)氣泡布局/彈窗效果 氣泡尖角方向及偏移量可控
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)氣泡布局/彈窗效果,可控制氣泡尖角方向及偏移量,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
Android畫圖并保存圖片的具體實(shí)現(xiàn)代碼
這篇文章介紹了在Android中畫圖并保存圖片的實(shí)例,以下是具體的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07
Android?實(shí)例代碼帶你掌握FrameLayout
FrameLayout是Android開發(fā)中非常常見的布局組件,并且它不單單是一個(gè)幀布局組件,可以用它實(shí)現(xiàn)多種功能,感興趣的朋友一起來(lái)看看吧2022-03-03
Android提高之SQLite分頁(yè)表格實(shí)現(xiàn)方法
這篇文章主要介紹了Android提高之SQLite分頁(yè)表格實(shí)現(xiàn)方法,在項(xiàng)目開發(fā)中有很高的實(shí)用價(jià)值,需要的朋友可以參考下2014-08-08
Android 個(gè)人理財(cái)工具三:添加賬單頁(yè)面 上
本文主要介紹Android 個(gè)人理財(cái)工具添加賬單頁(yè)面的功能實(shí)現(xiàn),這里提供實(shí)例代碼和實(shí)現(xiàn)效果圖,有興趣的小伙伴可以參考下2016-08-08
Android 6.0 掃描不到 Ble 設(shè)備需開啟位置權(quán)限的方法
今天小編就為大家分享一篇Android 6.0 掃描不到 Ble 設(shè)備需開啟位置權(quán)限的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07

