android游標大小
1. Android 設置EditText的游標樣式
如圖:
在 /res/drawable 文件夾下創建 edit_cursor_color.xml :
布局文件中設置 EditText 的 textCursorDrawable 屬性為 edit_cursor_color :
2. android 設置輸入框設置游標
項目開發中經常遇到輸入框,有時候需要自定義游標
1、xml格式
文件布局
drawable資源,用shape控制是一個長方形:
2、動態設置(適用於需要動態更改游標樣式)
1.魅族,小米,設置hint為兩行時默認游標高度不一致問題
可以通過反射設置自定義的Drawable:
上面所用的自定義的LineSpaceCursorDrawable,控制Bounds實現:
在此記錄一下,加油ing~~
3. 安卓2.3的輸入游標很大,會擋住字無法選擇,怎麼去掉
按空格鍵再重新輸入你想要輸入的字,雖然要多按一下,但總比等上5秒再輸要好
4. android中如何更改EditText 的游標顏色
EditText有一個屬性:android:textCursorDrawable,這個屬性是用來控制游標顏色的android:textCursorDrawable="@null","@null"作用是讓游標顏色和text
color一樣
1 在代碼中進行設置更改默認提示的字體大小
SpannableString hintStr = new SpannableString(getResources().getString(R.string.search_tittle));// 定義hint的值
AbsoluteSizeSpan ass = new AbsoluteSizeSpan(14, true);// 設置字體大小 true表示單位是SP
hintStr.setSpan(ass, 0, hintStr.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
search_et.setHint(new SpannedString(hintStr));
2 在布局文件中進行設置EditText更改游標的的寬度和顏色
android:textCursorDrawable="@drawable/shape_et_cursor"
shape資源是
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
<size android:width="2dp" />
<solid android:color="#FF5899" />
</shape>
3 EditText常用屬性
android:textCursorDrawable="@null" 控制游標顏色 "@null"不設置顏色和editText的顏色一致 設置顏色要使用
@drawable/shape 屬性
editText.setSelection(2) 使游標移動到制定的位置
editText.requestFocus() 請求出現游標時獲取焦點
editText.clearFocus() 清除游標,失去焦點
editText.setCursorVisible(false) 不出現游標
android:imeOptions="actionSearch" 彈出鍵盤出現搜索按鈕
android:inputType="text" 輸入字元串
5. 剛學Android,EditText的游標位置怎麼調
這個只要設置EditText的gravity屬性(即它的子View的輸出位置)為top即可,如果你的EditText有內容,則通過調用它的setSelectionStart和setSelectionEnd方法設置游標具體在哪個字元之前
6. Android Cursor(游標)解析
SQLiteDatabase db = dataBaseHelper.getWritableDatabase();
Cursor cursor = db.rawQuery("select *from User",null);
1.游標的行數:int getCount()
2.當前游標的位置:int getPosition()
返回的值從零開始, 當第一次返回行集時游標將位於位置 -1,即第一行之前。在返回最後一行之後,對 next() 的另一個調用將使游標離開最後一個條目,位於 count() 的位置。
3.從當前位置應用的偏移量:boolean move(int offset)
將游標從當前位置向前或向後移動一個相對量。 正偏移向前移動,負偏移向後移動。 如果最終位置在結果集的邊界之外,則結果位置將分別固定為 -1 或 count(),具體取決於該值是在集合的前端還是末尾。如果請求的目的地可達,此方法將返回 true,否則返回 false。
4.將游標移動到絕對位置:boolean moveToPosition(int position)
值的有效范圍是 -1 <= 位置 <= 計數。如果請求目的地可達,此方法將返回 true,否則返回 false。
5.將游標移動到第一行:boolean moveToFirst()
6.將游標移動到最後一行:boolean moveToLast()
7.將游標移動到下一行:boolean moveToNext()
8.將游標移動到上一行:boolean moveToPrevious()
9.返回遊標是否指向第一行:boolean isFirst()
10.返回遊標是否指向最後一行:boolean isLast()
11.返回遊標是否指向第一行之前的位置:boolean isBeforeFirst()
12.返回遊標是否指向最後一行之後的位置:boolean isAfterLast()
13.給定列名的從零開始的列索引,如果列名不存在,則返回 -1:int getColumnIndex(String columnName)
14.給定列名的從零開始的索引,如果該列不存在則拋出非法參數異常:int getColumnIndexOrThrow(String columnName) throws IllegalArgumentException
15.給定的從零開始的列索引處的列名:String getColumnName(int columnIndex)
16.返回一個字元串數組,其中按列在結果中的順序保存結果集中所有列的名稱。:String[] getColumnNames()
17.返回總列數:int getColumnCount()
18.各類型返回值
(1)以位元組數組的形式返回請求列的值:byte[] getBlob(int columnIndex)
(2)以字元串形式返回請求列的值:String getString(int columnIndex)
(3)以整數形式返回請求列的值:int getInt(int columnIndex)
(4)以 long 形式返回請求列的值:long getLong(int columnIndex)
(5)以浮點數形式返回請求列的值:float getFloat(int columnIndex)
(6)以雙精度形式返回請求列的值:double getDouble(int columnIndex)
(7)返回給定列值的數據類型:int getType(int columnIndex)
(8)列值是否為空:boolean isNull(int columnIndex)
(9)以短形式返回請求列的值:short getShort(int columnIndex)
19.檢索請求的列文本並將其存儲在提供的緩沖區中:void StringToBuffer(int columnIndex, CharArrayBuffer buffer)
20.關閉游標:void close()
21.游標是否關閉:boolean isClosed()
22.注冊一個觀察者,當支持此游標的內容發生變化時調用該觀察者:void registerContentObserver(ContentObserver observer)
23.銷毀注冊的觀察者:void unregisterContentObserver(ContentObserver observer)
24.注冊一個觀察者,當數據集的內容發生變化時被調用:void registerDataSetObserver(DataSetObserver observer)
25.銷毀注冊的觀察者:void unregisterDataSetObserver(DataSetObserver observer)
26.注冊以查看內容 URI 的更改。這可以是特定數據行的 URI,也可以是內容類型的通用URI:void setNotificationUri(ContentResolver cr, Uri uri)
cr是上下文,uri是需要觀看的內容
27.是否所有游標移動都應導致調用 onMove():boolean getWantsAllOnMoveCalls()
只有在此方法返回 true 時,才會跨進程調用 onMove()
28.返回一組額外的值:Bundle getExtras()
29.游標用戶與游標通信的帶外方式:Bundle respond(Bundle extras)
30.設置 Bundle 返回的getExtras():void setExtras(Bundle extras)
7. Android studio 徹底解決游標一直變粗的問題
前幾天由於as 崩潰從新安裝了一下,然後就一直出現游標變黑的問題,而且ctrl+c 等的快捷粘貼復制的方法不能使用。
今天找到了解決方法。原來是我默認勾選了 tools 當中的 Vim Emulator 插件工具導致的,只要取消勾選即可。 取消後很爽有木有 哈哈
原作者連接: https://www.cnblogs.com/cxy0210/p/12763634.html
8. 如何 設置android
TextView的屬性:
Android:autoLink設置是否當文本為URL鏈接/email/電話號碼/map時,文本顯示為可點擊的鏈接。可選值(none/web /email/phone/map/all)
android:autoText如果設置,將自動執行輸入值的拼寫糾正。此處無效果,在顯示輸入法並輸入的時候起作用。
android:bufferType指定getText()方式取得的文本類別。選項editable 類似於StringBuilder可追加字元,也就是說getText後可調用append方法設置文本內容。spannable 則可在給定的字元區域使用樣式,參見這里1、這里2。
android:capitalize設置英文字母大寫類型。此處無效果,需要彈出輸入法才能看得到,參見EditView此屬性說明。
android:cursorVisible設定游標為顯示/隱藏,默認顯示。
android:digits設置允許輸入哪些字元。如「1234567890.+-*/% ()」
android:drawableBottom在text的下方輸出一個drawable,如圖片。如果指定一個顏色的話會把text的背景設為該顏色,並且同時和background使用時覆蓋後者。
android:drawableLeft在text的左邊輸出一個drawable,如圖片。
android:drawablePadding設置text與drawable(圖片)的間隔,與drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可設置為負數,單獨使用沒有效果。
android:drawableRight在text的右邊輸出一個drawable。
android:drawableTop在text的正上方輸出一個drawable。
android:editable設置是否可編輯。
android:editorExtras設置文本的額外的輸入數據。
android:ellipsize設置當文字過長時,該控制項該如何顯示。有如下值設置:」start」—?省略號顯示在開頭;」end」 ——省略號顯示在結尾;」middle」—-省略號顯示在中間;」marquee」 ——以跑馬燈的方式顯示(動畫橫向移動)
android:freezesText設置保存文本的內容以及游標的位置。
android:gravity設置文本位置,如設置成「center」,文本將居中顯示。
android:hintText為空時顯示的文字提示信息,可通過textColorHint設置提示信息的顏色。此屬性在 EditView中使用,但是這里也可以用。
android:imeOptions附加功能,設置右下角IME動作與編輯框相關的動作,如actionDone右下角將顯示一個「完成」,而不設置默認是一個回車符號。這個在EditView中再詳細說明,此處無用。
android:imeActionId設置IME動作ID。
android:imeActionLabel設置IME動作標簽。
android:includeFontPadding設置文本是否包含頂部和底部額外空白,默認為true。
android:inputMethod為文本指定輸入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是這里報錯找不到。
android:inputType設置文本的類型,用於幫助輸入法顯示合適的鍵盤類型。在EditView中再詳細說明,這里無效果。
android:linksClickable設置鏈接是否點擊連接,即使設置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情況下,設置重復滾動的次數,當設置為 marquee_forever時表示無限次。
android:ems設置TextView的寬度為N個字元的寬度。這里測試為一個漢字字元寬度
android:maxEms設置TextView的寬度為最長為N個字元的寬度。與ems同時使用時覆蓋ems選項。
android:minEms設置TextView的寬度為最短為N個字元的寬度。與ems同時使用時覆蓋ems選項。
android:maxLength限制顯示的文本長度,超出部分不顯示。
android:lines設置文本的行數,設置兩行就顯示兩行,即使第二行沒有數據。
android:maxLines設置文本的最大顯示行數,與width或者layout_width結合使用,超出部分自動換行,超出行數將不顯示。
android:minLines設置文本的最小行數,與lines類似。
android:lineSpacingExtra設置行間距。
android:lineSpacingMultiplier設置行間距的倍數。如」1.2」
android:numeric如果被設置,該TextView有一個數字輸入法。此處無用,設置後唯一效果是TextView有點擊效果,此屬性在EdtiView將詳細說明。
android:password以小點」.」顯示文本
android:phoneNumber設置為電話號碼的輸入方式。
android:privateImeOptions設置輸入法選項,此處無用,在EditText將進一步討論。
android:scrollHorizontally設置文本超出TextView的寬度的情況下,是否出現橫拉條。
android:selectAllOnFocus如果文本是可選擇的,讓他獲取焦點而不是將游標移動為文本的開始位置或者末尾位置。 TextView中設置後無效果。
android:shadowColor指定文本陰影的顏色,需要與shadowRadius一起使用。
android:shadowDx設置陰影橫向坐標開始位置。
android:shadowDy設置陰影縱向坐標開始位置。
android:shadowRadius設置陰影的半徑。設置為0.1就變成字體的顏色了,一般設置為3.0的效果比較好。
android:singleLine設置單行顯示。如果和layout_width一起使用,當文本不能全部顯示時,後面用「…」來表示。如android:text="test_ singleLine "
android:singleLine="true" android:layout_width="20dp"將只顯示「t…」。如果不設置singleLine或者設置為false,文本將自動換行
android:text設置顯示文本.
android:textAppearance設置文字外觀。如 「?android:attr/textAppearanceLargeInverse」這里引用的是系統自帶的一個外觀,?表示系統是否有這種外觀,否則使用默認的外觀。可設置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor設置文本顏色
android:textColorHighlight被選中文字的底色,默認為藍色
android:textColorHint設置提示信息文字的顏色,默認為灰色。與hint一起使用。
android:textColorLink文字鏈接的顏色.
android:textScaleX設置文字之間間隔,默認為1.0f。
android:textSize設置文字大小,推薦度量單位」sp」,如」15sp」
android:textStyle設置字形[bold(粗體) 0, italic(斜體) 1, bolditalic(又粗又斜) 2] 可以設置一個或多個,用「|」隔開
android:typeface設置文本字體,必須是以下常量值之一:normal 0, sans 1, serif 2, monospace(等寬字體) 3]
android:height設置文本區域的高度,支持度量單位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight設置文本區域的最大高度
android:minHeight設置文本區域的最小高度
android:width設置文本區域的寬度,支持度量單位:px(像素)/dp/sp/in/mm(毫米),與layout_width 的區別看這里。
android:maxWidth設置文本區域的最大寬度
android:minWidth設置文本區域的最小寬度
9. EditBox 在安卓下輸入看不到文字,游標也超小,請問怎麼解決
你看看你的圖片是不是縮小了很多倍?另外,再看看你的圖片解析度是不是小於10,調回72或者更大就可以了查看和設置方法:菜單欄-圖像-圖像大小
10. 安卓 怎麼獲得屏幕的尺寸(英寸)和怎麼在有多個EditText設置游標位置
int screenWidth = getWindowManager().getDefaultDisplay().getWidth(); // 屏幕寬(像素,如:480px)
int screenHeight = getWindowManager().getDefaultDisplay().getHeight(); // 屏幕高(像素,如:800p)
Log.e(TAG + " getDefaultDisplay", "screenWidth=" + screenWidth + "; screenHeight=" + screenHeight);
可以獲取到屏幕的寬度和高度。
設置游標可以
EditText.setFocusable(true);
EditText.setFocusableInTouchMode(true);
EditText.requestFocus();
EditText.requestFocusFromTouch();
希望可以幫到你,如果有不懂得可以繼續HI我