欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android 中自定義Dialog樣式的Activity點(diǎn)擊空白處隱藏軟鍵盤(pán)功能(dialog不消失)

 更新時(shí)間:2017年04月26日 08:36:31   作者:潘侯爺  
項(xiàng)目中需要開(kāi)發(fā)帶有EditText的Dialog顯示,要求在編輯完EditText時(shí),點(diǎn)擊Dilog的空白處隱藏軟鍵盤(pán)。但是Dialog不會(huì)消失。下面通過(guò)實(shí)例代碼給大家分享實(shí)現(xiàn)方法,需要的的朋友參考下吧

一、需求觸發(fā)場(chǎng)景:

項(xiàng)目中需要開(kāi)發(fā)帶有EditText的Dialog顯示,要求在編輯完EditText時(shí),點(diǎn)擊Dilog的空白處隱藏軟鍵盤(pán)。但是Dialog不會(huì)消失。示例如下:

二、實(shí)現(xiàn)方法:

發(fā)布需求時(shí),我個(gè)人曾想過(guò)直接通過(guò)new的方式直接創(chuàng)建Dialog,經(jīng)過(guò)多次嘗試,無(wú)法實(shí)現(xiàn)要求,所以采用將Activity設(shè)置為Dialog樣式進(jìn)行展示,調(diào)用方法實(shí)現(xiàn)需求。具體實(shí)現(xiàn)如下:

本次演示示例的工程結(jié)構(gòu):

2.1AndroidMainfest.xml配置文件

需要在配置文件中將需要顯示為dialog樣式的activity添加dialog主題(可調(diào)用系統(tǒng)自帶也可以自定義主題添加)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
  package="com.panhouye.dialoginput">
  <application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:supportsRtl="true"
    android:theme="@style/AppTheme">
    <activity android:name=".MainActivity">
      <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
      </intent-filter>
    </activity>
    <activity android:name=".Main2Activity"
      android:theme="@style/Base.V7.Theme.AppCompat.Light.Dialog"></activity>
  </application>
</manifest>

2.2Java實(shí)現(xiàn)代碼

(1)BaseActivity作為本次Demo中Activity的基類,代碼實(shí)現(xiàn)如下:

package com.panhouye.dialoginput;
import android.content.Context;
import android.support.v7.app.AppCompatActivity;
import android.view.MotionEvent;
import android.view.inputmethod.InputMethodManager;
/**
 * Created by pamhouye on 2017/4/25 0025.
 */
public class BaseActivity extends AppCompatActivity {
  @Override
  public boolean onTouchEvent(MotionEvent event) {
    // TODO Auto-generated method stub
    if(event.getAction() == MotionEvent.ACTION_DOWN){
      if(getCurrentFocus()!=null && getCurrentFocus().getWindowToken()!=null){
        InputMethodManager manager = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
        manager.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
      }
    }
    return super.onTouchEvent(event);
  }
}

(2)MainActivity實(shí)現(xiàn)代碼如下:

package com.panhouye.dialoginput;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends BaseActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
  }
  //dialog按鈕觸發(fā)事件方法
  public void dialog(View view){
    Intent intent = new Intent(this,Main2Activity.class);
    startActivity(intent);
  }
}

(3)Main2Activity作為dialog樣式的Activity實(shí)現(xiàn)代碼如下:

package com.panhouye.dialoginput;
import android.os.Bundle;
import android.view.Gravity;
import android.view.Window;
import android.view.WindowManager;
public class Main2Activity extends BaseActivity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main2);
    //設(shè)置窗口對(duì)齊屏幕寬度
    Window win = this.getWindow();
    win.getDecorView().setPadding(0, 0, 0, 0);
    WindowManager.LayoutParams lp = win.getAttributes();
    lp.width = WindowManager.LayoutParams.MATCH_PARENT;
    lp.height = WindowManager.LayoutParams.WRAP_CONTENT;
    lp.gravity = Gravity.CENTER;//設(shè)置對(duì)話框置頂顯示
    win.setAttributes(lp);
    //設(shè)置點(diǎn)擊外部空白處可以關(guān)閉Activity
    this.setFinishOnTouchOutside(true);
  }
}

以上所述是小編給大家介紹的Android 中自定義Dialog樣式的Activity點(diǎn)擊空白處隱藏軟鍵盤(pán)功能(dialog不消失),希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

相關(guān)文章

  • Android取消EditText自動(dòng)獲取默認(rèn)焦點(diǎn)

    Android取消EditText自動(dòng)獲取默認(rèn)焦點(diǎn)

    本文主要介紹了Android取消EditText自動(dòng)獲取焦點(diǎn)默認(rèn)行為的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • Android 操作系統(tǒng)獲取Root權(quán)限 原理詳細(xì)解析

    Android 操作系統(tǒng)獲取Root權(quán)限 原理詳細(xì)解析

    許多機(jī)友新購(gòu)來(lái)的Android機(jī)器沒(méi)有破解過(guò)Root權(quán)限,無(wú)法使用一些需要高權(quán)限的軟件,以及進(jìn)行一些高權(quán)限的操作,其實(shí)破解手機(jī)Root權(quán)限是比較簡(jiǎn)單及安全的,破解Root權(quán)限的原理就是在手機(jī)的/system/bin/或/system/xbin/目錄下放置一個(gè)可執(zhí)行文件“su”
    2013-10-10
  • kotlin gson反序列化默認(rèn)值失效深入講解

    kotlin gson反序列化默認(rèn)值失效深入講解

    這篇文章主要大家介紹了關(guān)于kotlin gson反序列化默認(rèn)值失效的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • Android方向傳感器的使用方法

    Android方向傳感器的使用方法

    這篇文章主要介紹了Android方向傳感器的使用方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2018-10-10
  • Android仿微信頂/底部菜單欄效果

    Android仿微信頂/底部菜單欄效果

    這篇文章主要介紹了Android仿微信底部菜單欄和頂部菜單欄實(shí)現(xiàn)效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-12-12
  • Volley源碼之使用方式和使用場(chǎng)景詳解

    Volley源碼之使用方式和使用場(chǎng)景詳解

    這篇文章主要介紹了Volley源碼之使用方式和使用場(chǎng)景詳解,具有一定參考價(jià)值,需要的朋友可以了解下。
    2017-11-11
  • Android學(xué)習(xí)筆記(二)之電話撥號(hào)器

    Android學(xué)習(xí)筆記(二)之電話撥號(hào)器

    目前手機(jī)市場(chǎng)上android已經(jīng)具有強(qiáng)大的霸主地位,吸引了很多的追棒者,android學(xué)習(xí)越來(lái)越火熱,本文給大家介紹android學(xué)習(xí)筆記(二)之電話撥號(hào)器,感興趣的朋友一起學(xué)習(xí)吧
    2015-11-11
  • Flutter加載圖片流程MultiFrameImageStreamCompleter解析

    Flutter加載圖片流程MultiFrameImageStreamCompleter解析

    這篇文章主要為大家介紹了Flutter加載圖片流程MultiFrameImageStreamCompleter示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Android中封裝SDK時(shí)常用的注解總結(jié)

    Android中封裝SDK時(shí)常用的注解總結(jié)

    這篇文章主要給大家總結(jié)了在Android中封裝SDK時(shí)常用的注解的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-05-05
  • 微信小程序動(dòng)態(tài)的顯示或隱藏控件的方法(兩種方法)

    微信小程序動(dòng)態(tài)的顯示或隱藏控件的方法(兩種方法)

    在微信小程序開(kāi)發(fā)時(shí),經(jīng)常要用到一個(gè)控件會(huì)根據(jù)不同的情況和環(huán)境動(dòng)態(tài)顯示與隱藏這種情況,下面就來(lái)實(shí)踐一下吧
    2017-01-01

最新評(píng)論