安卓开发如何监听输入框布局上移
❶ 如何利用input事件来监听移动端的输入
如何利用input事件来监听移动端的输入
onchange事件就行了。(安卓此时需要点击确定按钮才会触发,iOS则每改变一个日期,不需要点击确定都会触发。) 可以设置范围,具体参考该链接 HTML DOM Input Date Object 中的 Input Date Object Properties 部分对 max 和 min 属性的描述。
那个是输入法的问题吧~搜狗遇到那种输入框应该会自动带了一个搜索键,不是用JS写的,当然你要写也可以,去查一下那个搜索键的ASCII码,然后用onkeydown事件去触发就行了~(不知道不同输入法的搜索键的ASCII码是否一样~)
❷ android开发:软键盘显示的时候把布局往上顶
可以在清单文件AndroidManifest.xml中设定activty的windowInputMode属性为adjustPan即可
android:windowSoftInputMode属性影响活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:
1>软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。
2>活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。
可以设定的值如下所示
可以使用|与符号结合多个值使用
❸ android开发中,如何让布局整体向上平移一段距离
先把当前的整个布局嵌套在一个layout上,然后在代码里控制之前布局的lp, 代码如下
LayoutParams lp1 = (LayoutParams) layout.getLayoutParams();
lp1.topMargin = -30;
layout.requestLayout();
这是一种思路,希望能帮得上忙
❹ html5页面当点击input输入框弹出安卓手机上键盘就会把背景顶了上来,页面布局就乱了,求帮助
解决方法
1、scrollIntoView(alignWithTop):滚动浏览器窗口或容器元素,以便在当前视窗的可见范围看见当前元素。
2、alignWithTop若为true,或者什么都不传,那么窗口滚动之后会让调用元素的顶部与视口顶部尽可能平齐。
3、alignWithTop若为false,调用元素会尽可能全部出现在视口中,可能的话,调用元素的底部会与视口顶部平齐,不过顶部不一定平齐。
4、该方法是唯一一个所有浏览器都支持的方法,类似还有如下方法,但是只有在Chrome和Safari有效。
5、代码如下:
8、当软键盘被唤起是,使用scrollTop()方法使input元素滚动到指定的位置,但是滚动的具体数值需要调试才能给出,所以这里就不再演示了。
❺ android fragment怎么监听上下滑动
在Android应用中,经常需要手势滑动操作,比如上下滑动,或左右方向滑动,处理手势滑动 。通常有两种方法:一种是单独实现setOnTouchListener监听器来,另一种是构建手势探测器
第一种方法,就是在要实现滑动的View中,实现OnTouchListener监听事件,然后判断KeyDonw和KeyUp 直接的位置距离来判断滑动方向,核心实现代码如下:
/**
* 设置上下滑动作监听器
* @author jczmdeveloper
*/
private void setGestureListener(){
myView.setOnTouchListener(new OnTouchListener() {
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
mPosX = event.getX();
mPosY = event.getY();
break;
case MotionEvent.ACTION_MOVE:
mCurPosX = event.getX();
mCurPosY = event.getY();
break;
case MotionEvent.ACTION_UP:
if (mCurPosY - mPosY > 0
&& (Math.abs(mCurPosY - mPosY) > 25)) {
//向下滑动
} else if (mCurPosY - mPosY < 0
&& (Math.abs(mCurPosY - mPosY) > 25)) {
//向上滑动
collapse();
}
break;
}
return true;
}
});
}
第二种方法:就是构建手势探测器,如GestureDetector mygesture = new GestureDetector(this);,然后在onFling方法中根据MotionEvent的两个参数的 按下和滑动以及放开的位置和距离来判断滑动方向以及滑动速度等的。要构建GestureDetector,必须要和OnTouchListener一起使用,因为必须设置Touch监听,核心实现实例如下:
import android.content.Context;
import android.util.AttributeSet;
import android.view.GestureDetector;
import android.view.GestureDetector.OnGestureListener;
import android.view.LayoutInflater;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.view.animation.Animation;
import android.view.animation.AnimationUtils;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
public class TagScrollView extends FrameLayout implements OnTouchListener, OnGestureListener{
private float mPosX, mPosY, mCurPosX, mCurPosY;
private static final int FLING_MIN_DISTANCE = 20;// 移动最小距离
private static final int FLING_MIN_VELOCITY = 200;// 移动最大速度
//构建手势探测器
GestureDetector mygesture = new GestureDetector(this);
public TagScrollView(Context context) {
this(context, null);
}
public TagScrollView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public TagScrollView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
//setGestureListener();
//设置Touch监听
this.setOnTouchListener(this);
//允许长按
this.setLongClickable(true);
}
@Override
public boolean onTouch(View v, MotionEvent event) {
// TODO Auto-generated method stub
return mygesture.onTouchEvent(event);
}
@Override
public boolean onDown(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onShowPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onSingleTapUp(MotionEvent e) {
// TODO Auto-generated method stub
return false;
}
@Override
public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX,
float distanceY) {
// TODO Auto-generated method stub
return false;
}
@Override
public void onLongPress(MotionEvent e) {
// TODO Auto-generated method stub
}
@Override
public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX,
float velocityY) {
// TODO Auto-generated method stub
// e1:第1个ACTION_DOWN MotionEvent
// e2:最后一个ACTION_MOVE MotionEvent
// velocityX:X轴上的移动速度(像素/秒)
// velocityY:Y轴上的移动速度(像素/秒)
// X轴的坐标位移大于FLING_MIN_DISTANCE,且移动速度大于FLING_MIN_VELOCITY个像素/秒
//向
if (e1.getY() - e2.getY() > FLING_MIN_DISTANCE){
// && Math.abs(velocityX) > FLING_MIN_VELOCITY) {
collapse();
}
//向上
if (e2.getY() - e1.getY() > FLING_MIN_DISTANCE
&& Math.abs(velocityX) > FLING_MIN_VELOCITY) {
}
return false;
}
}
❻ 如何实时监听 input 和 textarea输入框值的变化
使用这三个事件监听输入框值变化,不能监听到右键的复制、粘贴、剪切的操作。 onkeydown 按下键盘上的任意键(不包括PrScrn键)时触发;如果一直按着键不放,则会一直触发此事件。 onkeypress 按下键盘上的可显示字符键
❼ 安卓界面虚拟键盘弹出下面布局怎么顶上去
有时候我们需要这种效果,键盘弹出,底部的内容跟随上移。今天我就实现了这样一个小小的效果
我们直接来看布局文件main.xml
[java] view plain
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:gravity="bottom">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_weight="1.0">
<ScrollView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:fillViewport="true"
android:orientation="vertical"
android:scrollbars="vertical">
<EditText
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</ScrollView>
</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:layout_gravity="center_horizontal"
android:paddingLeft="20dp"
android:paddingRight="20dp">
<Button android:id="@+id/smit_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="上 传"
android:layout_weight="1.0"/>
<Button android:id="@+id/cancel_btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1.0"
android:text="取 消" />"
</LinearLayout>
</LinearLayout>
当ScrollView里的元素想填满ScrollView时,使用"fill_parent"是不管用的,必需为ScrollView设置:android:fillViewport="true"。
这样做 底部的上传和取消会随着软键盘的弹出而上移。
❽ android 点击输入框后,弹出键盘,怎么让输入框往上移动(不是全屏的)
你问这个,是不是因为软键盘遮挡了输入框?如果是的话,在manifest中,对应的activity下添加属性:android:windowSoftInputMode="adjustPan",如:
<activityandroid:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
也可以是android:windowSoftInputMode="adjustResize",看你的需求了,你可以网上搜搜关于这个属性的详细解释,有很多资料的。
❾ 安卓开发怎么把输入框拉到指定位置
你的按钮没有在gridlayout里的话,你改列数前面的列高度也为0,给imageview一个容器, 100%的高宽,verticalAlign="middle" 垂直方向居中对齐
❿ ionic框架在Android手机上点击输入框tabs移动到了键盘上面 该如何解决
用ionic 的指令布局 加个hide-on-keyboard-open指令试试