当前位置:首页 » 操作系统 » edittext源码

edittext源码

发布时间: 2024-12-19 21:04:38

❶ android开发中获取选中文字以及弹出框

只需要在Textview中增加android:textIsSelectable="true"即可长按弹出复制,如果要弹出对话框,那就要用Dialog,dialog的用法如下:
Android中,在Dialog中增加EditText需要使用view控件,也可参考附件源代码。
具体实现代码:
1.创建对象框
AlertDialog.Builder builder = new Builder(context);
builder.setTitle("请输入"); //设置对话框标题
builder.setIcon(android.R.drawable.btn_star); //设置对话框标题前的图标

2.创建EditText输入框
final EditText edit = new EditText(context);

3.将输入框赋值给Dialog,并增加确定取消按键
builder.setView(edit);
builder.setPositiveButton("确认", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你输入的是: " + edit.getText().toString(), Toast.LENGTH_SHORT).show();
}
});
builder.setNegativeButton("取消", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(context, "你点了取消", Toast.LENGTH_SHORT).show();
}
});

4.设置常用api,并show弹出
builder.setCancelable(true); //设置按钮是否可以按返回键取消,false则不可以取消
AlertDialog dialog = builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(true); //设置弹出框失去焦点是否隐藏,即点击屏蔽其它地方是否隐藏
dialog.show();

❷ 求一简单ANDROID源码

main.xml
<?xml version="1.0" encoding="utf-8"?>让猛
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText android:id="@+id/edit" android:layout_width="200dp" android:layout_height="wrap_content"></EditText>
<Button android:id="@+id/bt" android:text="click" android:layout_width="wrap_content" android:layout_height="wrap_content">猜滑皮<穗差/Button>
<TextView android:id="@+id/tv" android:layout_width="wrap_content" android:layout_height="wrap_content"></TextView>
</LinearLayout>

test.java:
package com.android.test;

import java.text.DecimalFormat;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

public class test extends Activity {
/** Called when the activity is first created. */
TextView tv;
Button bt;
EditText edit;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView) findViewById(R.id.tv);
bt = (Button) findViewById(R.id.bt);
edit = (EditText) findViewById(R.id.edit);

bt.setOnClickListener(new OnClickListener(){

public void onClick(View v) {
// TODO Auto-generated method stub
String strEdit = edit.getText().toString();
float input = Float.parseFloat(strEdit);
Float output = input / 3;
DecimalFormat df = new DecimalFormat("0.##");

tv.setText(df.format(output));
}});

}
}

你试试哈

❸ android中edittext怎么获取光标

下面是edittext获取光标的例子,更多关于edittext的介绍,请参考android学习手册。
android学习手册包含9个章节,108个例子,源码文档随便看,例子都是可交互,可运行,
源码采用android studio目录结构,高亮显示代码,文档都采用文档结构图显示,可以快速定位。360手机助手中下载,图标上有贝壳
int index = editText.getSelectionStart();

int index = editText.getSelectionStart();

2.在光标处插入字符
[java] view plain print?
int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.insert(index, "aaaa");

int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.insert(index, "aaaa");

3.删除光标前字符
[java] view plain print?
int index = editText.getSelectionStart();
Editable editable = editText.getText();
editable.delete(index-1, index);

❹ android文本框输入后按一button在另一文本框中显示输入内容

1、点击按钮btn获取文本框tva的值avalue

2、把avalue赋值给文本框tvb

举例:

Buttonbtn=(Button)findViewById(R.id.btn);//获取按钮组件
EditTexttva=(EditText)findViewById(R.id.tva);//获取输入文本框
EditTexttvb=(EditText)findViewById(R.id.tvb);//获取输出文本框
btn.setOnClickListener(newView.OnClickListener(){//定义按钮点击事件
publicvoidonClick(Viewv){
Stringavalue=tva.getText().toString();//获取输入内容
tvb.setText(avalue);//输出显示
}
});

❺ EditText 设置android:ellipsize="end",当字符超过EditText的长度时,怎么尾部不显示省略号呢

那是因为edittext 你往里面输入的时候有ellipsize="end"属性就不可能出现需要显示省略号的过长现象,
你试试将android:hint中的文字设置长一些,看看他显示省略不,或者set一个非常长的字符串

❻ 【转】Android软键盘的全面解析

软键盘其实是一个Dialog

InputMethodService为我们的输入法创建了一个Dialog,并且对某些参数进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统会对当前的主窗口进行调整,以便留出相应的空间来显示该Dialog在底部,或者全屏。

其实这段话我们经常在各种软键盘博客所看到,但是大家并不知道Android是怎么为我们创建的这个Dialog,所以我先带大家来看下软键盘生成这块的源码,了解软键盘的生成流程。

我们先来看一下InputMethodService的继承关系:

因为InputMethodService属于服务,接下来我们先看一下服务的入口onCreate()方法:

通过上面的分析,我们怀疑这里的SoftInputWindow是软键盘弹出创建的Dialog对象,下面我们看下SoftInputWindow的源码。

看到这里大家就能明白了,为什么说软键盘就是一个Dialog。而且这里通过设置Gravity.BOTTOM来控制当前Dialog在Window中的位置。

在Android中,可以通过给Activity设置 windowSoftInputMode 这个属性来控制软键盘与Activity的主窗口的交互方式。

Activity 的主窗口与包含屏幕软键盘的窗口的交互方式,该属性的设置影响两个方面:

该设置必须是下面所列的值之一,或者是一个“state…”值加上一个“adjust…”值的组合,在任一组中设置多个值(例如,多个“state…”值)都会产生未定义结果。各值之间使用垂直条 (|) 分隔。

下面将通过例子来介绍 adjustNoting adjustUnspecified adjustResize adjustPan 在软键盘弹出的区别:

非滚动布局xml

点击最下面的EditText12

滚动布局xml

通过上面的例子,我们可以完全理解adjust系列的各个参数的作用。而软键盘的显示和隐藏这里面需要并不多,而且内容并不算复杂,大家回去自己尝试下就可以。

在日常开发中,如果需要将软键盘的Enter键更改为其他键,可以设置其 android:imeOptions 属性,这个属性可以控制软键盘的Enter键,以及横屏情况下的软键盘显示状态。

该设置必须是下面所列的值之一,或者是一个“action…”值加上一个“flag…”值的组合,在action…组中设置多个值(例如,多个“action…”值)都会产生未定义结果,而flag….可以设置多个。各值之间使用垂直条 (|) 分隔

控制软键盘上的Enter键

横屏下控制软键盘

总结一下:
这里大部分的属性,已经介绍完毕,如果英语好的同学,可以去看下官方文档,可以更好的理解,并且本文以搜狗输入法为实践,可能其他的输入法与其显示的不同,但是功能应该都是一样的。

而如果要在横屏状态不希望软键盘全屏显示最好是将flagNoFullscreen和flagNoExtractUi结合使用,这样体验上会更好

android:imeOptions=”flagNoFullscreen|flagNoExtractUi”

Android官网的Api

如果需要监听软键盘的右下角的按键,需要为EditText设置setOnEditorActionListener()监听:

上面的方式,只是展示了如何监听各个按键的方法,如果需要消费事件,则需要return true。

(1)第一次写这么长的博客,感觉会有一些不足,各位看官如果有不合理的地方,或者有误的地方请直接指出。

(2)本来想整理成一个Demo的,后来简单看来下,该有的几乎都贴出来了,有需要的可以按需复制就可以。

(3)写完这篇博客之后,感觉博客干货还是不多,所以定位这篇文章算是总结性质加上实际案例性质的博客。

(4)Android软键盘的总结就差不多到这里,希望各位看官,如果看到这里有收获,就点点赞,灌灌水,顶一波,这样博主才有写下去的动力。

(5)感谢小辉同学的校验,调整了文章中不通顺的地方。

1.彻底搞定Android开发中软键盘的常见问题
http://blog.csdn.net/mynameishuangshuai/article/details/51567357

2.Android UI(EditText)详解
http://blog.csdn.net/qq_28057577/article/details/51919965?locationNum=12&fps=1

3.微信软键盘布局闪动问题
https://blog.dreamtobe.cn/2015/09/01/keyboard-panel-switch/

❼ android开发EditText输入时弹出数字输入键盘

一共有两种方法:
1.可以直接在布局文件中设置输入文本类型为数字
<EditText

android:id="@+id/editview"

android:layout_width="match_parent"

android:layout_height="wrap_content"
android:inputType="number"
android:hint="请输入数字"/>
2.代码设置:
( EditText) et = (EditText) findViewById(R.id.editview);
ed.setInputType(InputType.TYPE_CLASS_NUMBER);

热点内容
彩票网站源码下载 发布:2024-12-20 00:39:43 浏览:331
编译器有几个部分 发布:2024-12-20 00:39:00 浏览:674
服务器端口地址怎么获取 发布:2024-12-20 00:35:18 浏览:597
反编译mac 发布:2024-12-20 00:30:30 浏览:980
gta4用什么配置好 发布:2024-12-20 00:27:07 浏览:826
英国编程 发布:2024-12-20 00:11:48 浏览:316
苹果6s什么配置最好 发布:2024-12-20 00:03:01 浏览:452
期货的保证金算法 发布:2024-12-20 00:02:19 浏览:773
上传同乘信息 发布:2024-12-19 23:54:00 浏览:347
初学数据库 发布:2024-12-19 23:51:23 浏览:108