久久久久久久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 中的數值?)
主站蜘蛛池模板: 国产精品爱久久久久久久 | 色播av| 亚洲自拍偷拍免费视频 | 日韩一区二区三区视频 | 亚洲精品视频三区 | 视频一区二区在线观看 | 天久久 | 国产精品一区二区三区久久久 | 毛片一级网站 | 91精品国产色综合久久 | 在线播放第一页 | 中文字幕一区二区三区乱码在线 | 欧美精品在线一区二区三区 | 在线免费国产视频 | 日韩色视频 | 99免费在线 | 日韩欧美成人一区二区三区 | 婷婷丁香在线视频 | 精品国产一区三区 | 亚洲高清一区二区三区 | 91热在线| 久久精品国产一区二区电影 | jizz亚洲人| 国产日韩一区二区三区 | 国产日韩欧美 | 中文字幕av在线一二三区 | 国产一区二区三区四 | 中文字幕一区二区三区四区不卡 | 日韩成人免费 | 99精品观看 | 欧洲成人免费视频 | 色免费看 | 精品一二三区 | 91久久爽久久爽爽久久片 | 午夜精品一区二区三区在线观看 | 女女爱爱视频 | 日韩成人精品一区二区三区 | 亚洲综合视频 | 国产资源一区二区三区 | 欧洲精品久久久久毛片完整版 | 亚洲在线视频 |