>  기사  >  Java  >  로그인 버튼을 차단하는 Android 개발 소프트 키보드를 위한 완벽한 솔루션

로그인 버튼을 차단하는 Android 개발 소프트 키보드를 위한 완벽한 솔루션

高洛峰
高洛峰원래의
2017-01-07 11:39:361378검색

애플리케이션 로그인 페이지에서 사용자 이름과 비밀번호를 입력해야 합니다. 이 정보를 입력하면 소프트 키보드가 로그인 버튼을 막아 사용자 경험이 저하되므로 오늘 이 문제를 해결하겠습니다.

1: 로그인 레이아웃 인터페이스는 다음과 같습니다

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/login_bg" > 
<LinearLayout 
android:id="@+id/ll_center"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" > 
<ScrollView 
android:id="@+id/sl_center"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:fadingEdge="none"
android:scrollbars="none" > 
<RelativeLayout 
android:id="@+id/rl_center"
android:layout_width="fill_parent"
android:layout_height="wrap_content" > 
<LinearLayout 
android:id="@+id/sms_login_ll_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_marginTop="90dip"
android:orientation="horizontal" > 
<ImageView 
android:id="@+id/sms_login_iv_icon"
android:layout_width="70dip"
android:layout_height="70dip"
android:layout_gravity="center_vertical"
android:src="@drawable/login_top_icon" /> 
<ImageView 
android:id="@+id/sms_login_iv_big_text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginLeft="15dip"
android:src="@drawable/sms_login_icon_big" /> 
</LinearLayout> 
<ImageView 
android:id="@+id/sms_login_iv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/sms_login_ll_title"
android:layout_centerHorizontal="true"
android:layout_marginTop="28dip"
android:background="@drawable/sms_login_icon_small" /> 
<RelativeLayout 
android:id="@+id/sms_login_rl_input_name"
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_below="@id/sms_login_iv_name"
android:layout_centerHorizontal="true"
android:layout_marginLeft="40dip"
android:layout_marginRight="40dip"
android:layout_marginTop="40dip"
android:background="@drawable/login_top_input" > 
<ImageView 
android:id="@+id/sms_login_iv_input_name_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:background="@drawable/login_input_icon_user" /> 
<FrameLayout 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/sms_login_iv_input_name_icon" > 
<EditText 
android:id="@+id/sms_login_et_accout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_white"
android:digits="@string/sms_login_accout_text"
android:hint="请输入账号"
android:singleLine="true"
android:text=""
android:textSize="20sp" /> 
</FrameLayout> 
</RelativeLayout> 
<RelativeLayout 
android:id="@+id/sms_login_rl_input_pass"
android:layout_width="fill_parent"
android:layout_height="43dip"
android:layout_below="@id/sms_login_rl_input_name"
android:layout_centerHorizontal="true"
android:layout_marginLeft="40dip"
android:layout_marginRight="40dip"
android:background="@drawable/login_top_input" > 
<ImageView 
android:id="@+id/sms_login_iv_input_pass_icon"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true"
android:layout_marginLeft="10dip"
android:layout_marginRight="10dip"
android:background="@drawable/login_input_icon_pwd" /> 
<FrameLayout 
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/sms_login_iv_input_pass_icon" > 
<EditText 
android:id="@+id/sms_login_et_password"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/transparent_white"
android:digits="@string/sms_et_change_password_old_text"
android:hint="请输入密码"
android:inputType="textPassword"
android:singleLine="true"
android:text=""
android:textSize="20sp" /> 
</FrameLayout> 
</RelativeLayout> 
</RelativeLayout> 
</ScrollView> 
<Button 
android:id="@+id/sms_login_bt_confirm"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/sms_login_rl_input_pass"
android:layout_centerHorizontal="true"
android:layout_marginLeft="40dip"
android:layout_marginRight="40dip"
android:layout_marginTop="16dip"
android:background="@drawable/sms_update_pass_bg_selector"
android:text="登 录"
android:textColor="@color/white"
android:textSize="20sp" /> 
</LinearLayout> 
</RelativeLayout>

필수 참고:

1: 계층적 관계

RelativeLayout------

LinearLayout----

ScrollView,

버튼

2: AndroidManifest.xml에서 활동 구성 Android:windowSoftInputMode="stateHidden|adjustResize"

3: 다음 코드 보기

etAccount = (EditText) this.findViewById(R.id.sms_login_et_accout); 
etAccount.setOnClickListener(this); 
etAccount.setOnTouchListener(new OnTouchListener() { 
@Override
public boolean onTouch(View v, MotionEvent event) { 
changeScrollView(); 
return false; 
} 
}); 
/** 
* 使ScrollView指向底部 
*/
private void changeScrollView(){ 
h.postDelayed(new Runnable() { 
@Override
public void run() { 
sl_center.scrollTo(0, sl_center.getHeight()); 
} 
}, 300); 
} 
Handler h = new Handler(){ 
public void handleMessage(Message msg) { 
}; 
};

위 내용은 에디터가 소개한 로그인 버튼을 커버하기 위한 안드로이드 개발용 소프트 키보드의 완벽한 솔루션입니다. 궁금하신 사항이 있으시면 메시지를 남겨주시면 에디터가 답변해 드리겠습니다. 시간에. 또한 PHP 중국어 웹사이트를 지원해 주신 모든 분들께 감사드립니다!

로그인 버튼을 차단하는 Android 개발 소프트 키보드를 위한 완벽한 솔루션에 대한 관련 기사를 더 보려면 PHP 중국어 웹사이트를 주목하세요!


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.