日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

EidtText

發布時間:2025/3/21 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 EidtText 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

概述

EditText是TextView的子類,因此TextView的一切xml屬性同樣也適用于EditText.

EidtText


像QQ一樣輸入表情圖片

Demo:

public class InputTextAndPicAct extends Activity {private EditText et_input;private Button btn_insert;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_input_text_and_pic);initView();}private void initView() {et_input = (EditText) findViewById(R.id.id_et_inputMess);btn_insert = (Button) findViewById(R.id.id_btn_insertPic);}/*** 在xml中配置了android:onClick屬性,監聽點擊事件** @param view*/public void insertPic(View view) {// 隨機產生1到10的整數int random = 1 + new Random().nextInt(10);LogUtils.d("隨機產生的整數:" + random);try {// 根據隨機產生的整數從R.drawable類中獲取相應的資源ID的Field對象Field field = R.drawable.class.getField("gur_project_" + random);// 獲取資源id,也就是靜態變量的值int resourceId = Integer.parseInt(field.get(null).toString());// 根據資源ID獲取圖像的Bitmap對象Bitmap bitmap = BitmapFactory.decodeResource(getResources(), resourceId);// 根據Bitmap創建ImageSpan對象ImageSpan imageSpan = new ImageSpan(this,bitmap);// 創建一個SpannableString對象,以便插入用ImageSpan對象封裝的圖像String text = "gur_project_";SpannableString spannableString = new SpannableString(text);// 用ImageSpan替換gur-project-spannableString.setSpan(imageSpan,0,text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);// 將隨機獲取的圖像追加到EditText控件后et_input.append(spannableString);} catch (NoSuchFieldException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}} }

XML:

<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000"><EditText android:id="@+id/id_et_inputMess"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10dp"android:background="#FFF"android:minLines="4"android:gravity="left|top"android:padding="10dp" /><Button android:id="@+id/id_btn_insertPic"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_below="@id/id_et_inputMess"android:layout_margin="10dp"android:background="#FFF"android:padding="10dp"android:onClick="insertPic"android:text="隨機插入表情" /></RelativeLayout>

在<EditText>標簽中我們設置了android:gravity的屬性為left|top,以便輸入的文本從左上角開始顯示。因為設置了最小顯示4行,如果不設置改屬性,會從左側中心位置開始顯示,如果是單行就不會存在這個問題了。

我們將<Button>標簽的android:onClick屬性指定了單擊事件的方法insertPic,在該方法中,隨機獲取gur_project_1到gur_project_10的任意一個資源的ID, 最常用的作法是將這個10個圖片的資源ID放到一個數據里面,然后隨機產生一個數組索引獲取相應的資源ID,但是我們并沒有采用這種方式,而是采用了直接通過反射技術從R.drawable類中獲取圖像資源ID的方法。 這種方法的好處是一旦圖像非常的多,可以不需要在數組中逐個定義就可以獲取到對應的資源ID了。

我們使用ImageSpan類來直接插入圖像,當然了我們也可以采用<img>標簽在EditText控件中插入圖片,只是復雜一些,本案例沒有采用。

注意事項:

  • 由于R.drawable類中的資源ID都是public 的靜態變量,因此我們可以直接使用Field.get方法獲取這些變量的值。 如果是private或者protected類型的變量,需要field.setAccessible(true)來獲取訪問權限。
  • 使用Field.get方法獲取變量時,如果是靜態變量,Field.get方法的參數可以設置為null即可,如果不是靜態變量,則需要為Field.get方法指定一個變量所在類的對象作為參數值。
  • 使用EditText類不能直接插入Span對象,因此需要先使用SpannableString對象來封裝Span對象(例如本例中的ImageSpan對象),再將SpannableString對象插入到EditText控件中。

  • 在EditText中輸入特定的字符

    EditText控件中可以通過多種方式指定允許輸入的字符,比如指向輸入0~9的數字
    三種方式:

    • android:digits屬性設置為0123456789
    • android:inputType屬性設置為number
    • android:numeric設置為integer
    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="match_parent"android:layout_height="match_parent"android:background="#000"android:orientation="vertical"android:padding="10dp"><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10dp"android:background="#FFF"android:text="使用android:digits屬性(輸入數字)" /><EditTextstyle="@style/bg_white"android:layout_width="match_parent"android:layout_height="wrap_content"android:digits="0123456789" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"style="@style/bg_white"android:text="使用adnroid:digits屬性輸入26個英文小寫字母"/><EditTextandroid:layout_width="match_parent"android:layout_height="wrap_content"style="@style/bg_white"android:digits="abcdefghijklmnopqrstuvwxyz"/><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10dp"android:background="#FFF"android:text="使用android:inputType屬性(輸入數字)" /><EditTextstyle="@style/bg_white"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="number" /><TextViewandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10dp"android:background="#FFF"android:text="使用android:inputType屬性(輸入Email)" /><EditTextstyle="@style/bg_white"android:layout_width="match_parent"android:layout_height="wrap_content"android:inputType="textEmailAddress" /></LinearLayout><!-- android 1.5以后添加了軟件虛擬鍵盤的功能,所以在輸入提示中將會有對應的軟鍵盤模式 android中inputType屬性在EditText輸入值時啟動的虛擬鍵盤的風格有著重要的作用。這也大大的方便的操作。有時需要虛擬鍵盤只為字符或只為數字。所以inputType尤為重要。 <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:inputType="phone" /> //文本類型,多為大寫、小寫和數字符號。 android:inputType="none" android:inputType="text" android:inputType="textCapCharacters" 字母大寫 android:inputType="textCapWords" 首字母大寫 android:inputType="textCapSentences" 僅第一個字母大寫 android:inputType="textAutoCorrect" 自動完成 android:inputType="textAutoComplete" 自動完成 android:inputType="textMultiLine" 多行輸入 android:inputType="textImeMultiLine" 輸入法多行(如果支持) android:inputType="textNoSuggestions" 不提示 android:inputType="textUri" 網址 android:inputType="textEmailAddress" 電子郵件地址 android:inputType="textEmailSubject" 郵件主題 android:inputType="textShortMessage" 短訊 android:inputType="textLongMessage" 長信息 android:inputType="textPersonName" 人名 android:inputType="textPostalAddress" 地址 android:inputType="textPassword" 密碼 android:inputType="textVisiblePassword" 可見密碼 android:inputType="textWebEditText" 作為網頁表單的文本 android:inputType="textFilter" 文本篩選過濾 android:inputType="textPhonetic" 拼音輸入 //數值類型 android:inputType="number" 數字 android:inputType="numberSigned" 帶符號數字格式 android:inputType="numberDecimal" 帶小數點的浮點格式 android:inputType="phone" 撥號鍵盤 android:inputType="datetime" 時間日期 android:inputType="date" 日期鍵盤 android:inputType="time" 時間鍵盤 android:hint="" 是editText的一個提示 如:editText顯示提示:請輸入帳號! 當點擊editText時這個文字會消失。-->

    當界面后面的EditText控件中的輸入文本的時候會彈出系統軟鍵盤,并且整個界面會上衣,以便顯示當前正處于焦點的EditText,如果處于某種需要,不想讓界面上移,可以使用getWindows().setSoftInputMode()將輸入法模式設置為WindowManager,LayoutParamas.SOFT_INPUT_ADJSUT_RESIZE.

    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);

    AutoCompleteTextView和MultiAutoCompleteTextView

    AutoCompleteTextView是對EditText的擴展,它的父類是EditText.

  • 使用AutoCompleteTextView標簽
  • 為AutoCompleteTextView設置adapter
  • public class AutoCompleteTextViewAct extends Activity {private AutoCompleteTextView actv ;private MultiAutoCompleteTextView mActv;private String[] array = new String[]{"周杰倫","周公舉","周恩來","Google","Google Map","Google Android","Java"};;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_auto_complete_text_view);initView();initViewMulti();}private void initView() {actv = (AutoCompleteTextView)findViewById(R.id.id_actv);ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,array);actv.setAdapter(adapter);}private void initViewMulti() {mActv = (MultiAutoCompleteTextView) findViewById(R.id.id_actv_multi);ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_dropdown_item_1line,array);mActv.setAdapter(adapter);// 指定多個字符串的分隔符為逗號mActv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());}}

    總結

    以上是生活随笔為你收集整理的EidtText的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

    主站蜘蛛池模板: 亚欧成人精品 | 99热这里只有精品5 国产精品伦子伦免费视频 精品一二三 | 精品人妻互换一区二区三区 | 香蕉视频传媒 | 久久蜜桃精品 | 男女激情四射网站 | 性饥渴的农村熟妇 | 日本久久黄色 | 免费看操片 | av日韩精品 | 四虎永久免费在线观看 | 日韩不卡av在线 | 国产一级伦理片 | 久久国产精品无码一级毛片 | 天天躁日日躁狠狠躁av麻豆 | 一级做a爱片 | 女子spa高潮呻吟抽搐 | 少妇欧美激情一区二区三区 | 午夜激情男女 | 波多野结衣电车痴汉 | 亚洲无码乱码精品国产 | 免费美女视频网站 | 亚洲不卡影院 | av福利在线观看 | 男人天堂欧美 | 成人精品一区二区三区视频 | 国产精品v日韩精品v在线观看 | 亚州男人天堂 | 成人三级图片 | 2025韩国大尺度电影 | 精品视频免费看 | 污污内射在线观看一区二区少妇 | 日本一区二区三区四区五区 | 99久在线精品99re8热 | 97视频久久 | 日本一本久草 | 超碰香蕉 | 亚洲天堂免费在线观看视频 | 国产福利小视频在线 | 精品人妻无码一区二区三 | av在线有码 | 九色亚洲 | 在线观看免费的av | 污视频网站免费在线观看 | 无码人妻精品一区二区蜜桃网站 | 成年人精品视频 | 2020av在线| 欧美aa一级 | 欧美乱大交xxxxx潮喷 | 一级特级黄色片 | av无遮挡 | 久草视频在线观 | h片免费在线观看 | 印度午夜性春猛xxx交 | 轮番上阵免费观看在线电影 | 久久免费视屏 | 日韩综合 | 操操色| 永久免费成人 | 免费观看一区二区三区毛片 | 国产欧美一区二区三区在线看蜜臂 | 日韩黄色免费看 | 日本黄色美女网站 | 尤物视频在线观看国产性感 | 91精品久久久久久久 | 温柔少妇的高潮呻吟 | 国产精品成人网站 | 日本精品免费一区二区三区 | 欧洲金发美女大战黑人 | 欧美精品小视频 | 亚洲欧洲一级 | 夜操操 | 少妇av在线播放 | 熟女视频一区二区三区 | 有码在线视频 | 国产视频污在线观看 | 日本黄色录像 | 成人在线视频免费观看 | 窝窝视频在线观看 | 人妻少妇精品中文字幕av蜜桃 | 国产日韩欧美中文字幕 | 成人美女在线观看 | 欧美激情一二三区 | 麻豆成人免费视频 | h网站在线看| 中文字幕一区二区三区人妻不卡 | 噜噜色网 | np视频| 大尺码肥胖女系列av | 99色| 国产微拍精品 | 裸体视频软件 | 青娱乐超碰 | 亚洲精品乱码久久久久久9色 | 狂野欧美性猛交xxxx巴西 | youjizz自拍 | 中文成人无字幕乱码精品区 | 国产又粗又硬又黄的视频 | 欧美精品一区二区免费 |