输入对话框android
㈠ Android 点击输入框弹出键盘,布局随键盘往上移动
一、效果图:
二、Code:
/**
* 1、获取main在窗体的可视区域
* 2、获取main在窗体的不可视区域高度
* 3、判断不可视区域高度,之前根据经验值,在有些手机上有点不大准,现改成屏幕整体高度的1/3
* 1、大于屏幕整体高度的1/3:键盘显示 获取Scroll的窗体坐标
* 算出main需要滚动的高度,使scroll显示。
* 2、小于屏幕整体高度的1/3:键盘隐藏
*
* @param main 根布局
* @param scroll 需要显示的最下方View
*/
public static void addLayoutListener(final View main, final View scroll) {
main.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
Rect rect = new Rect();
main.getWindowVisibleDisplayFrame(rect);
int screenHeight = main.getRootView().getHeight();
int mainInvisibleHeight = main.getRootView().getHeight() - rect.bottom;
if (mainInvisibleHeight > screenHeight / 4) {
int[] location = new int[2];
scroll.getLocationInWindow(location);
int srollHeight = (location[1] + scroll.getHeight()) - rect.bottom;
main.scrollTo(0, srollHeight);
} else {
main.scrollTo(0, 0);
}
}
});
}
三、调用方式:
在Activity的onCreate()中调用,
仅此记录。
㈡ Edittext输入框教程---Android APP安卓开发小白教程4
01 简介
这篇文章主要是学习EditText输入框的设置
android:hint输入提升
android:textColorHint输入提示的文字的颜色
android:drawableXxxx在输入框的指定方位添加图片
android:drawablePadding设置图片与输入内容的间距
android:paddingXxxx设置内容和边框的间距
android:background背景色
02 操作
这是在输入类型InputType里面设置的
首先添加EditText
这个inputType的类型自己可以去摸索
里面的phone就是这个效果
03 图标以及密码框的设置
先再添加一个EditText
图标的设置,参考上一篇文章里面在Drawable里面添加的图片选择器,之后加上
android:drawableLeft="@drawable/ic_baseline_account_box_24"
drawableLeft这个是将图标设置在输入框的左边,Drawablepadding可以调图标与输入内容的间距
04 如何获取输入框里面的内容
要获取用户名的话就得再添加一个button
并且在里面添加一个id
同时在要获取 的那个EditText里面添加一个id
在点击事件里面添加一个读取editText内容方法
btn.setOnClickListener(newView.OnClickListener(){ @OverridepublicvoidonClick(View v) { String text1 = et1.getText().toString();Log.e("chuangzhangkeji","YONGHUMING:"+text1); String text2 = et2.getText().toString();Log.e("chuangzhangkeji","MIMA:"+text2); }
Log.e()这个是调用打印的方法把获取到的的信息打印出来
et1.getText().toString();是获取输入的数据并将其转化为字符串
05 测试
点击登入之后就会在logcat里面出现
船长科技
电子人,极客开发者,电子信息工程在读,介绍科技类,科幻类,以及分享一些互联网学习经验公众号
欢迎关注“船长科技”
船长和你一起走进科技
探索生活中的科技
保持一颗好奇心
㈢ android如何实现一个弹出输入对话框呢
1、在“常规”选项卡中输入目标计算机的IP地址,以及登陆计算机的用户名和密码
2、如果目标计算机属于某一个域,需要输入该域的域名
3、要在下次连接十几株密码,可以选中“保存密码”复选框
4、单击“另存为”,可以将当前的连接设置保存到一个文件中。
5、单击“打开”按钮,可从一个文件中读取连接设置
㈣ android 弹出输入框并得到输入框的结果
不用找了,这才是正解。你的需求其实是,需要一个阻塞式对话框,安卓本身所有弹窗都是非阻塞的。
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.os.Handler;
import android.os.Looper;
import android.os.Message;
import android.widget.EditText;
/**
* 动态获取用户输入后在继续后面的流程
* 这是一个模态阻塞对话框(阻塞主线程,结果不用回调来处理)
*/
public class BlockingInputDialog {
String mInputString = "";
Activity mContext;
String mTitle;
EditText mEditText;
Handler mHandler;
public BlockingInputDialog(Activity context, String title){
mContext = context;
mTitle = title;
}
public String showDialog(){
mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
//super.handleMessage(msg);
throw new RuntimeException();
}
};
AlertDialog.Builder builder = new AlertDialog.Builder(mContext);
builder.setTitle(mTitle);
builder.setCancelable(false);
mEditText = new EditText(mContext);
builder.setView(mEditText);
builder.setPositiveButton("确定", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialogInterface, int i) {
mInputString = mEditText.getText().toString();
Message message = mHandler.obtainMessage();
mHandler.sendMessage(message);
}
});
builder.setNegativeButton("取消", null);
builder.create().show();
try {
Looper.getMainLooper().loop();
}
catch(RuntimeException e2)
{
}
return mInputString;
}
}
㈤ android 怎样弹出选择输入法的对话框 如下图
1.让EditText失去焦点,使用EditText的clearFocus方法2.强制隐藏Android输入法窗口,在IME类中我们通过InputMethodManagerimm=(InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);实例化输入法控制对象,通过hideSoftInputFromWindow来控制,其中第一个参数绑定的为需要隐藏输入法的EditText对象,比如imm.hideSoftInputFromWindow(etAndroid123.getWindowToken(),0);
㈥ android:自定义可输入对话框,EditText已经获得焦点,为什么就是不弹出输入法呢
因为你弹出的对话框跟MainActivity(假设你是在MainActivity上他弹出的)不在同一个Activity上,所以就显示不出来了,就算你能看到软键盘你也无法输入。
㈦ android 对话框 如何 获取输入框值
String name=username.getText().toString();
String pass=password.getText().toString();
把它们写到这个监听器的外面来试试。
㈧ android如何实现一个弹出输入对话框呢
java">AlertDialog.Builderbuilder=newAlertDialog.Builder(context);
builder.setTitle("提示");
builder.setMessage("恭喜你,注册成功!");
builder.setPositiveButton("去登录",newDialogInterface.OnClickListener(){ //增加一个成功按钮,并增加点击事件
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//点击去登录的操作
}
});
builder.setNegativeButton("继续注册",newDialogInterface.OnClickListener(){ //增加一个中间的按钮,并增加点击事件
@Override
publicvoidonClick(DialogInterfacedialog,intwhich){
//点击继续注册的操作
}
});
builder.setCancelable(false); //弹出框不可以按返回取消
AlertDialogdialog=builder.create(); //创建对话框
dialog.setCanceledOnTouchOutside(false); //设置对话框失去焦点不会消息
dialog.show(); //弹出
㈨ android怎样实现弹出多个输入对话框
1.布局文件
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_height="wrap_content" android:layout_width="wrap_content"
android:background="#ffffffff" android:orientation="horizontal"
android:id="@+id/dialog">
<TextView android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:id="@+id/tvname" android:text="姓名:" />
<EditText android:layout_height="wrap_content"
android:layout_width="wrap_content" android:id="@+id/etname" android:minWidth="100dip"/>
</LinearLayout>
2.调用代码
LayoutInflater inflater = getLayoutInflater();
View layout = inflater.inflate(R.layout.dialog,
(ViewGroup) findViewById(R.id.dialog));
new AlertDialog.Builder(this).setTitle("自定义布局").setView(layout)
.setPositiveButton("确定", null)
.setNegativeButton("取消", null).show();
简单来说就是自定义dialog就好了
在里面创建两个对话框,也就是edittext
你试试看我这个代码。