看到书上写的关于如何在EditText中显示提示文本,在提示文本后面可输入文本示例?案例,于是按照方案进行实践,

大致效果如图:

解析:在EditText内部显示提示文本(这部分被锁,不可删除和修改,文本在后面输入)一般可以通过android:drawableLeft来实现。首先要做一个带有提示文本的图像(文字当做图像来显示),并通过android:drawableLett属性指定该图像文件的资源ID.但这种方法并不灵活,如果想换提示文本,就需要换图像。当然,另一种方法就是通过android:paddingLeft属性和Canvas来实现,这种方法可以更灵活地处理提示文本。

答案:可以直接在EditText找那个绘制提示文本,首先应编写一个继承自EditText的类,并覆盖onDraw方法,在该方法中绘制提示文本,代码如下:

 @Override    protected void onDraw(Canvas canvas) {        Paint paint = new Paint();        paint.setTextSize(30);        paint.setColor(Color.GRAY);        //绘制提示文字  运行时可看到在该控件的左侧有灰色的提示性文字,        canvas.drawText("请输入提示文本:",2,getHeight()/2+5,paint);        super.onDraw(canvas);    }

如上,绘制完提示文本后,需要在提示文本后面输入文本,这需要使用android:paddingLeft属性根据提示文本的宽度设置开始输入文本的位置,例如,android:paddingLeft=“100dp”,表示从左侧100个dp开始输入文本。

具体实践代码为:

package com.example.zhouxueli.myapplication;import android.content.Context;import android.graphics.Canvas;import android.graphics.Color;import android.graphics.Paint;import android.util.AttributeSet;public class EditTextViewSelf extends android.support.v7.widget.AppCompatEditText {    public EditTextViewSelf(Context context) {        super(context);    }    public EditTextViewSelf(Context context, AttributeSet attrs) {        super(context, attrs);    }    public EditTextViewSelf(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    @Override    protected void onDraw(Canvas canvas) {        Paint paint = new Paint();        paint.setTextSize(30);        paint.setColor(Color.GRAY);        //绘制提示文字  运行时可看到在该控件的左侧有灰色的提示性文字,        canvas.drawText("请输入提示文本:",2,getHeight()/2+5,paint);        super.onDraw(canvas);    }}

在布局文件中添加如上自定义的view

 

在布局文件中加入该按钮,并设置一般的文字,作为辅助验证,当然,也可以在运行时,

通过界面输入,进行测试

 EditText editText=findViewById(R.id.et_textView); editText.setText("我喜欢吃西瓜");

  

因为是EditText 所以可以在手机运行界面更改用户输入的内容,测试如下

 

更多相关文章

  1. Android(安卓)自定义View(二)实现环形进度条
  2. android 控件 自动提示(AutoCompleteTextView)
  3. android 数字输入限制工具
  4. 安卓简易计算器
  5. Android富文本
  6. 强制改变默认输入法
  7. Android(安卓)通知提示功能
  8. Android(安卓)Studio入门小例子
  9. 读取网路图片

随机推荐

  1. Android关于线程更新UI的方法
  2. Android(安卓)的属性分析
  3. Android和Linux kernel发展史
  4. Android图形合成和显示系统---基于高通MS
  5. Android电源管理系列之PowerManagerServi
  6. 自定义gradle插件
  7. Android 自定义Menu
  8. android AlarmManager 的相關應用
  9. Android(安卓)选择图片、上传图片之Pictu
  10. 让Activity变成一个窗口:Activity属性设定