edittext提示文字(Android studio可以只用edittext这1个控件实现说明文字和输入框的效果吗)

本文目录
- Android studio可以只用edittext这1个控件实现说明文字和输入框的效果吗
- android 键盘怎样向edittext添加文字
- android怎么显示EditText内容
- AlertDialog中的EditText打上去字为什么不显示
- android edittext 如何使文字竖排显示
- 如何在edittext中加一个感叹号做个提示
- Android studio怎么给按钮设置监听,并让editText显示文字
Android studio可以只用edittext这1个控件实现说明文字和输入框的效果吗
edittext的hint属性本身就是提示作用,输入内容后消失。
如果你想让提示一直存在,你可以用相对布局在edittext上面放一个同textview,这样既不会夺取edittext可输入的焦点,提示也会一直存在。
android 键盘怎样向edittext添加文字
可以使用android:inputType属性
设置文本的类型,用于帮助输入法显示合适的键盘类型。有如下值设置:none、text、textCapCharacters字母大小、textCapWords单词首字母大小、textCapSentences仅第一个字母大小、textAutoCorrect、textAutoComplete自动完成、textMultiLine多行输入、textImeMultiLine输入法多行(如果支持)、textNoSuggestions不提示、textEmailAddress电子邮件地址、textEmailSubject邮件主题、textShortMessage短信息
android怎么显示EditText内容
EditText是TextView的直接子类 所以EditText会继承父类TextView的一些方法。下面我用自己写的一个Demo 和大家详细的说明一下EditView的使用方法。
1.简单的EditText输入框
非常简单,在layout布局中配置一下EditText 在配置一个Button 在代码中监听Button 的事件 获取当前EditView中输入的内容并且显示出来。
2.实现代码:
《?xml version=“1.0“ encoding=“utf-8“?》
《LinearLayout xmlns:android=“
AlertDialog中的EditText打上去字为什么不显示
在EditText内部显示提示文字,这部分被锁,不可删除或修改,文字在后面输入。
1.一般可透过android:drawableLeft属性来实现。首先做一个带有提示文字的图片,即提示文字当作图片来显示,透过android:drawableLeft指定资源的ID。这种方法不灵活,不可随意更改提示文字,需要更换图片。
2.透过android:paddingLeft属性和Canvas来实现。具体是:编写一个类继承自EditText,覆盖其中的onDarw()方法,在该方法中编写提示文字。
protected void onDraw(Canvas canvas){
Paint paint = new Paint();
paint.setTestSize(18);
paint.setColor(Color.GRAY);
//编写提示文字。
canvas.drawText(“提示文字:”,2,getHeight()/2+5,paint);
super.onDraw(canvas);
}
编写完提示文字后,在提示文字后面输入文字,需要使用android:paddingLeft属性根据提示文字的宽度设定开始输入文字的位置。
android edittext 如何使文字竖排显示
在android.graphics.Canvas类中有个沿路径画字的方法
void drawTextOnPath(String text, Path path, float hOffset, float vOffset, Paint paint)
Draw the text, with origin at (x,y), using the specified paint, along the specified path.
void drawTextOnPath(char text, int index, int count, Path path, float hOffset, float vOffset, Paint paint)
Draw the text, with origin at (x,y), using the specified paint, along the specified path.
Test.java代码://需要在layout中定义Test,且设置背景,在java代码中设置test Text
public class Test extends View {
private Paint paint;
private Path path;
private Matrix matrix;
private int width = -1;
private int height = -1;
private float left = 3;
private float top = 18;
private String title = ““;
BitmapDrawable drawable = (BitmapDrawable) getBackground();
public Test(Context context, AttributeSet attrs) {
super(context, attrs);
paint = new Paint();
paint.setColor(Color.WHITE);//定义字体颜色
paint.setTextSize(14);//定义字体大小
path = new Path();
path.lineTo(0,500);//定义字符路径
matrix = new Matrix();
Log.v(“onMeasure“, “2“);
}
@Override
protected void onDraw(Canvas canvas) {
//画背景
Bitmap b = Bitmap.createBitmap(drawable.getBitmap(),0,0,width,height);
canvas.drawBitmap(b, matrix, paint);
//画字
showText(canvas, title);
}
private void showText(Canvas canvas, String text){
float w;
final int len = text.length();
float py = 0 + top;
for(int i=0; i《len; i ++){
char c = text.charAt(i);
w = paint.measureText(text, i, i+1);//获取字符宽度
StringBuffer b = new StringBuffer();
b.append(c);
if(py 》 81){//定义字的范围
return;
}
if(isChinese(c)){
py += w;
if(py 》 81){
return;
}
canvas.drawText(b.toString(), left, py, paint); //中文处理方法
}else {
canvas.drawTextOnPath(b.toString(), path, py, -left-2, paint);//其他文字处理方法
py += w;
}
}
}
public void setText(String title){
this.title = title;
}
public String getText(){
return title;
}
private boolean isChinese(char c) {
Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);
if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS
|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A
|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION
|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION
|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {
return true;
}
return false;
}
//重写View大小方法,使view大小为背景图片大小
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
// super.onMeasure(widthMeasureSpec, heightMeasureSpec);
if (null != getBackground()) {
int h = drawable.getIntrinsicHeight();
int w = drawable.getIntrinsicWidth();
Log.v(“onMeasure“, “null != getBackground() h:“ + h + “ w:“ + w);
width = w;
height = h;
setMeasuredDimension(w, h);
} else {
width = widthMeasureSpec;
height = heightMeasureSpec;
super.measure(widthMeasureSpec, heightMeasureSpec);
}
}
}
在Android中,若要通过程序改变屏幕显示的方向,必须要覆盖setRequestedOrientation()方法,而若要取得目前的屏幕方向,则需要访问getRequestedOrientation()方法。本范例为求简要示范更改做法,设计了一个按钮,当单击按钮的同时,判断当下的屏幕方向,例如竖排(PORTRAIT),则将其更改为横排(LANDSCAPE);若为横排(LANDSCAPE),则将其更改为竖排(PORTRAIT)
如何在edittext中加一个感叹号做个提示
在EditText内部显示提示文字,这部分被锁,不可删除或修改,文字在后面输入。
1.一般可透过android:drawableLeft属性来实现。首先做一个带有提示文字的图片,即提示文字当作图片来显示,透过android:drawableLeft指定资源的ID。这种方法不灵活,不可随意更改提示文字,需要更换图片。
2.透过android:paddingLeft属性和Canvas来实现。具体是:编写一个类继承自EditText,覆盖其中的onDarw()方法,在该方法中编写提示文字。
protected void onDraw(Canvas canvas){
Paint paint = new Paint();
paint.setTestSize(18);
paint.setColor(Color.GRAY);
//编写提示文字。
canvas.drawText(“提示文字:”,2,getHeight()/2+5,paint);
super.onDraw(canvas);
}
编写完提示文字后,在提示文字后面输入文字,需要使用android:paddingLeft属性根据提示文字的宽度设定开始输入文字的位置。
Android studio怎么给按钮设置监听,并让editText显示文字
假设你的按钮拖拽在activity_main.xml文件里面,你的监听就是在Myactivity.java设置(简单说就是你在哪个xml文件里放置了一个按钮,就在哪个对应xml的java文件写),而不需要新建一个class
接下来的是设置监听
设置监听第一步:
声明一个Button按键(btn1是自己命名)
然后在setContentView(R.layout.****);的下面输入下面的代码
btn1 = findViewById(R.id.button);找到按钮(button是按钮的id,可在xml文件查看)
//设置监听
btn1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//想对按钮进行什么样的点击时间就在这里写代码
}
});
接下来是获取文本框:
声明EditText文本框(et3,et4,et5是自己命名,自己命名的字体之所以不是灰色是因为你在下面的代码用到了)
找到EditText的位置(给刚刚命名的EditText赋值)
也是在setContentView(R.layout.****);的下面输入下面的代码
然后在倒数第一个 } 前面输入
String str1 = et3.getText().toString();//获取文本框的内容并赋值给str1
String str2 = et4.getText().toString();//获取文本框的内容并赋值给str2
String str3 = et5.getText().toString();//获取文本框的内容并赋值给str3
str1、str2、str3是自己命名的字符串,到后面你想要用到文本框的内容就输入str这些自己命名的String
希望能帮到你

本文相关文章:
context xml(tomcat中web.xml server.xml context.xml 的区别和作用)
2026年10月7日 18:10
textarea默认值(用JQuery的text()方法赋值的问题)
2026年9月4日 18:20
更多文章:
majority of(the majority of 和 a majority of的区别以及用法例句)
2026年10月11日 07:40
another time(another time和other time的区别)
2026年10月11日 05:00






