久久久久久久av_日韩在线中文_看一级毛片视频_日本精品二区_成人深夜福利视频_武道仙尊动漫在线观看

設置不可更改的editText android的某些部分

Set unchangeable some part of editText android(設置不可更改的editText android的某些部分)
本文介紹了設置不可更改的editText android的某些部分的處理方法,對大家解決問題具有一定的參考價值,需要的朋友們下面隨著小編來一起學習吧!

問題描述

我有一些用于手機號碼輸入的 EditText.應用程序必須為每個國家/地區添加唯一的文本.例如亞美尼亞必須添加 +374 ,用戶必須填寫其他數字.另外 +374 必須是不可更改的,用戶不能更改或刪除它.那么有什么方法可以做到這一點嗎?

I have some EditText for mobile number input. App must add unique text for every country. For example for Armenia is must add +374 , and user must fill other numbers. Also +374 must be unchangeable, user can't change or remove it. So is there some kind of ways for doing this?

我不想在此文本中使用 textView 或其他視圖并將其放在 ediText 的左側.我想找到一些操作較少的方法.我需要凍結文本而不是檢查每個文本更改或在用戶刪除其中的某些部分時添加丟失的文本.

I don't want to use textView or another view with this text and put it left of the ediText. I want to find some way with less operations. I need text to be frozen not to check every text changes or add missing text when user will delete some part of it.

推薦答案

創建一個自定義可繪制類,幫助將文本轉換為可繪制對象.

Create a custom drawable class that will help to convert text into drawable.

public class TextDrawable extends Drawable {

  private final String text;
  private final Paint paint;

  public TextDrawable(String text) {
      this.text = text;
      this.paint = new Paint();
      paint.setColor(Color.BLACK);
      paint.setTextSize(16f);
      paint.setAntiAlias(true);
      paint.setTextAlign(Paint.Align.LEFT);
  }

  @Override
  public void draw(Canvas canvas) {
      canvas.drawText(text, 0, 6, paint);
  }

  @Override
  public void setAlpha(int alpha) {
      paint.setAlpha(alpha);
  }

  @Override
  public void setColorFilter(ColorFilter cf) {
      paint.setColorFilter(cf);
  }

  @Override
  public int getOpacity() {
      return PixelFormat.TRANSLUCENT;
  }
}

然后將edittext左側的drawable設置為

Then set the drawable to left of the edittext as

EditText et = (EditText)findViewById(R.id.editText1);
String code = "+374";
et.setCompoundDrawablesWithIntrinsicBounds(new TextDrawable(code), null, null, null);
et.setCompoundDrawablePadding(code.length()*10);

其中edittext在布局文件中定義為

Where the edittext is defined in the layout file as

<EditText
android:id="@+id/editText1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:textSize="16sp"
android:ems="10" >
  <requestFocus />
</EditText>

最終輸出的樣子

這篇關于設置不可更改的editText android的某些部分的文章就介紹到這了,希望我們推薦的答案對大家有所幫助,也希望大家多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

EditText: Disable Paste/Replace menu pop-up on Text Selection Handler click event(EditText:禁用文本選擇處理程序單擊事件上的粘貼/替換菜單彈出)
Multiline EditText with Done SoftInput Action Label on 2.3(2.3 上帶有完成 SoftInput 操作標簽的多行 EditText)
How to detect the swipe left or Right in Android?(如何在 Android 中檢測向左或向右滑動?)
Prevent dialog dismissal on screen rotation in Android(防止在Android中的屏幕旋轉對話框解除)
How do I handle ImeOptions#39; done button click?(如何處理 ImeOptions 的完成按鈕點擊?)
How do you set EditText to only accept numeric values in Android?(您如何將 EditText 設置為僅接受 Android 中的數值?)
主站蜘蛛池模板: 亚洲精品乱码久久久久久蜜桃91 | 一区二区三区四区在线播放 | 在线视频中文字幕 | 久久综合成人精品亚洲另类欧美 | 综合久久av | 91久久国产综合久久 | 国产成都精品91一区二区三 | 综合久久亚洲 | 亚洲精品视频在线观看视频 | 欧美中文字幕在线观看 | 日韩视频一区二区 | 国产午夜精品久久久 | 亚洲精品第一 | 成人综合久久 | 国产精品久久久久久久免费大片 | 又黄又爽的网站 | 在线观看免费av片 | 久久久成人网 | 国产一级片av| 午夜精品久久久 | 久草免费视 | 国产一区二区三区日韩 | 婷婷在线视频 | 国产精品嫩草影院精东 | 国产精品久久久久久久久久久免费看 | 国产线视频精品免费观看视频 | 日韩精品专区在线影院重磅 | 日韩欧美成人精品 | 国产四区 | 91久久精品一区二区二区 | 97超碰在线免费 | 久久久久亚洲精品 | 欧美片网站免费 | 欧美一级片中文字幕 | 免费 视频 1级 | 亚洲欧美综合精品久久成人 | 不卡的av在线 | 91高清在线视频 | 成人免费视频播放 | 狠狠做六月爱婷婷综合aⅴ 国产精品视频网 | 欧美日韩国产免费 |