国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 系統 > Android > 正文

Android優雅的方式解決軟鍵盤遮擋按鈕問題

2019-12-12 03:55:15
字體:
來源:轉載
供稿:網友

前言

比如在進行登錄的操作中,用戶輸入完密碼之后,肯定是想直接點擊登錄按鈕的。返回鍵隱藏軟鍵盤這樣的體驗肯定很糟糕,程序員,遇到問題解決問題。

實現1

xml

<ScrollViewandroid:id="@+id/scrollview"android:layout_width="match_parent"android:layout_height="wrap_content"android:fadingEdge="none"android:scrollbars="none"><LinearLayoutandroid:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical"><ImageViewandroid:layout_width="100dp"android:layout_height="100dp"android:layout_gravity="center_horizontal"android:layout_marginTop="20dp"android:src="@mipmap/ic_loginhead"/><EditTextandroid:id="@+id/et_usernamelogin_username"style="@style/customEditText"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginTop="10dp"android:background="@null"android:hint="請輸入已驗證手機"android:inputType="number"android:lines="1"android:maxLength="11"/><ImageViewandroid:layout_width="match_parent"android:layout_height="2px"android:layout_marginLeft="50dp"android:layout_marginRight="50dp"android:background="@color/pating_line"/><EditTextandroid:id="@+id/et_usernamelogin_password"style="@style/customEditText"android:layout_width="match_parent"android:layout_height="40dp"android:layout_marginTop="20dp"android:background="@null"android:digits="0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_?"android:hint="請輸入密碼"android:inputType="textPassword"/><ImageViewandroid:layout_width="match_parent"android:layout_height="2px"android:layout_marginLeft="50dp"android:layout_marginRight="50dp"android:background="@color/pating_line"/><Buttonandroid:id="@+id/btn_usernamelogin_dologin"android:layout_width="match_parent"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:layout_marginLeft="50dp"android:layout_marginRight="50dp"android:layout_marginTop="30dp"android:background="@drawable/btn_selecter"android:enabled="false"android:text="登錄"android:textColor="@color/white"/></LinearLayout></ScrollView>

java

mScrollView=(ScrollView)view.findViewById(R.id.scrollview);usernamelogin_username.setOnTouchListener(newView.OnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){changeScrollView();returnfalse;}});usernamelogin_password.setOnTouchListener(newView.OnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){changeScrollView();returnfalse;}});
 /** *使ScrollView指向底部 */ privatevoidchangeScrollView(){ newHandler().postDelayed(newRunnable(){ @Override publicvoidrun(){ mScrollView.scrollTo(0,mScrollView.getHeight()); } },300); }

實現2

xml同上

anim下新建gone.xml

<?xml version="1.0" encoding="utf-8"?><scale xmlns:android="http://schemas.android.com/apk/res/android"   android:fromXScale="1.0"  android:toXScale="0.0"  android:fromYScale="1.0"  android:toYScale="0.0"  android:pivotX="50%"  android:pivotY="50%"  android:duration="500"  android:repeatCount="0"/>

visiable.xml

<?xml version="1.0" encoding="utf-8"?> <scale xmlns:android="http://schemas.android.com/apk/res/android"  android:fromXScale="0.0"  android:toXScale="1.0"  android:fromYScale="0.0"  android:toYScale="1.0"  android:pivotX="50%"  android:pivotY="50%"  android:duration="500"  android:repeatCount="0"/>

或者直接在代碼中

importandroid.os.Bundle;importandroid.os.Handler;importandroid.support.v7.app.AppCompatActivity;importandroid.view.KeyEvent;importandroid.view.MotionEvent;importandroid.view.View;importandroid.view.animation.Animation;importandroid.view.animation.AnimationSet;importandroid.view.animation.ScaleAnimation;importandroid.widget.Button;importandroid.widget.EditText;importandroid.widget.ImageView;publicclassMainActivityextendsAppCompatActivity{privateImageViewmHead;//頭部ImageView@OverrideprotectedvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);mHead=(ImageView)findViewById(R.id.iv_head);finalButtonbtn=(Button)findViewById(R.id.btn_usernamelogin_dologin);finalEditTextet_pass=(EditText)findViewById(R.id.et_usernamelogin_password);finalEditTextet_name=(EditText)findViewById(R.id.et_usernamelogin_username);/***當輸入被點擊*/et_name.setOnTouchListener(newView.OnTouchListener(){@OverridepublicbooleanonTouch(Viewv,MotionEventevent){start();returnfalse;}});btn.setEnabled(false);btn.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){}});}privatevoidstart(){AnimationSetanimationSet=newAnimationSet(true);ScaleAnimationscaleAnimation=newScaleAnimation(1,0.1f,1,0.1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);scaleAnimation.setDuration(500);animationSet.addAnimation(scaleAnimation);animationSet.setFillAfter(true);animationSet.setFillBefore(false);animationSet.setRepeatCount(0);//設置重復次數mHead.startAnimation(scaleAnimation);newHandler().postDelayed(newRunnable(){@Overridepublicvoidrun(){mHead.setVisibility(View.GONE);}},500);}/***菜單、返回鍵響應*/@OverridepublicbooleanonKeyDown(intkeyCode,KeyEventevent){//TODOAuto-generatedmethodstubif(keyCode==KeyEvent.KEYCODE_BACK){if(mHead.getVisibility()==View.GONE){AnimationSetanimationSet=newAnimationSet(true);ScaleAnimationscaleAnimation=newScaleAnimation(0.1f,1f,0.1f,1f,Animation.RELATIVE_TO_SELF,0.5f,Animation.RELATIVE_TO_SELF,0.5f);scaleAnimation.setDuration(500);animationSet.addAnimation(scaleAnimation);animationSet.setFillAfter(true);animationSet.setFillBefore(false);mHead.startAnimation(scaleAnimation);mHead.setVisibility(View.VISIBLE);}else{finish();}}returnfalse; }}

效果呢:

 

以上所述是小編給大家介紹的Android優雅的方式解決軟鍵盤遮擋按鈕問題,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 翁牛特旗| 延庆县| 朝阳市| 隆子县| 定边县| 仙游县| 镇远县| 定边县| 山丹县| 化德县| 贵德县| 泰州市| 乐山市| 五大连池市| 白城市| 保山市| 会理县| 容城县| 陆河县| 丹凤县| 武鸣县| 仙游县| 车致| 英超| 泽普县| 容城县| 枞阳县| 普兰店市| 抚远县| 二连浩特市| 巨鹿县| 嵊泗县| 陆河县| 叙永县| 江西省| 津南区| 龙南县| 普安县| 维西| 洞口县| 富平县|