真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android開(kāi)發(fā)中怎么實(shí)現(xiàn)彈出軟鍵盤(pán)

這篇文章將為大家詳細(xì)講解有關(guān)Android 開(kāi)發(fā)中怎么實(shí)現(xiàn)彈出軟鍵盤(pán),文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個(gè)參考,希望大家閱讀完這篇文章后對(duì)相關(guān)知識(shí)有一定的了解。

“專業(yè)、務(wù)實(shí)、高效、創(chuàng)新、把客戶的事當(dāng)成自己的事”是我們每一個(gè)人一直以來(lái)堅(jiān)持追求的企業(yè)文化。 創(chuàng)新互聯(lián)建站是您可以信賴的網(wǎng)站建設(shè)服務(wù)商、專業(yè)的互聯(lián)網(wǎng)服務(wù)提供商! 專注于成都做網(wǎng)站、成都網(wǎng)站設(shè)計(jì)、成都外貿(mào)網(wǎng)站建設(shè)、軟件開(kāi)發(fā)、設(shè)計(jì)服務(wù)業(yè)務(wù)。我們始終堅(jiān)持以客戶需求為導(dǎo)向,結(jié)合用戶體驗(yàn)與視覺(jué)傳達(dá),提供有針對(duì)性的項(xiàng)目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場(chǎng),引領(lǐng)市場(chǎng)!

具體方法如下:

//1、此layout作為最外層的layout;
//2、設(shè)置需要調(diào)整的view: setAdjustView(View view);
//3、如果需要控制輸入框的顯示與隱藏,可以實(shí)現(xiàn)OnInputViewVisibleListener接口;
public class SoftInputAdjustLayout extends RelativeLayout {
  private static final String TAG = SoftInputAdjustLayout.class.getSimpleName();
  private View adjustView;
  public SoftInputAdjustLayout(Context context) {
    this(context, null);
  }
  public SoftInputAdjustLayout(Context context, AttributeSet attrs) {
    this(context, attrs, 0);
  }
  public SoftInputAdjustLayout(Context context, AttributeSet attrs, int defStyleAttr) {
    super(context, attrs, defStyleAttr);
    this.getViewTreeObserver().addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() {
      @Override
      public void onGlobalLayout() {
        try {
          Rect r = new Rect();
          getWindowVisibleDisplayFrame(r);
          int heightDiff = getRootView().getHeight() - (r.bottom - r.top);
          if (heightDiff > 100) {
            if (onInputViewVisibleListener != null) {
              onInputViewVisibleListener.onShowInputView();
            }
          } else {
            if (onInputViewVisibleListener != null) {
              onInputViewVisibleListener.onHideInputView();
            }
          }
        } catch (Exception e) {
          e.printStackTrace();
        }
      }
    });
  }
  /**
   * 需要調(diào)整的view
   *
   * @param adjustView
   */
  public void setAdjustView(View adjustView) {
    this.adjustView = adjustView;
  }
  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    if (adjustView != null) {
      Rect rect = new Rect();
      getWindowVisibleDisplayFrame(rect);
      int totalHeight = getHeight();
      int nowHeight = rect.bottom - rect.top;
      int keyBoardHeight = totalHeight - nowHeight;
      if (keyBoardHeight > totalHeight / 4) {
        super.onMeasure(widthMeasureSpec, MeasureSpec.makeMeasureSpec(totalHeight, MeasureSpec.EXACTLY));
        LayoutParams params = (LayoutParams) adjustView.getLayoutParams();
        params.bottomMargin = keyBoardHeight;
      } else {
        super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        LayoutParams params = (LayoutParams) adjustView.getLayoutParams();
        params.bottomMargin = 0;
      }
    } else {
      super.onMeasure(widthMeasureSpec, heightMeasureSpec);
    }
  }
  private OnInputViewVisibleListener onInputViewVisibleListener;
  public void setOnInputViewVisibleListener(OnInputViewVisibleListener listener) {
    onInputViewVisibleListener = listener;
  }
  public interface OnInputViewVisibleListener {
    void onShowInputView();
    void onHideInputView();
  }
}

備注:

全屏模式:

1、通過(guò)style或者setFlags(…)來(lái)設(shè)置全屏;

2、AndroidManifest.xml中activity設(shè)置:android:windowSoftInputMode=”adjustResize”;

3、此layout必須作為布局的最外層layout;

4、一定要在布局中添加一個(gè)view,如下:

 
  

5、通過(guò)setAdjustView(View view)來(lái)設(shè)置需要調(diào)整的view;

6、在全屏模式下,輸入框開(kāi)始是未顯示的,直到彈出軟鍵盤(pán),才會(huì)顯示輸入框。因?yàn)槿绻斎肟蛞婚_(kāi)始就顯示,那軟鍵盤(pán)就會(huì)根據(jù)輸入框來(lái)彈出,且輸入框在底部,那就可能造成把整個(gè)view頂上去。所以這時(shí)我們應(yīng)該實(shí)現(xiàn)OnInputViewVisibleListener這個(gè)接口來(lái)控制輸入框的顯示與隱藏。

非全屏模式

1、AndroidManifest.xml中activity設(shè)置:android:windowSoftInputMode=”adjustResize”;

2、此layout必須作為布局的最外層layout;

3、通過(guò)setAdjustView(View view)來(lái)設(shè)置需要調(diào)整的view;

4、如果需要控制輸入框的顯示與隱藏,就實(shí)現(xiàn)OnInputViewVisibleListener這個(gè)接口。

關(guān)于Android 開(kāi)發(fā)中怎么實(shí)現(xiàn)彈出軟鍵盤(pán)就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,可以學(xué)到更多知識(shí)。如果覺(jué)得文章不錯(cuò),可以把它分享出去讓更多的人看到。


分享名稱:Android開(kāi)發(fā)中怎么實(shí)現(xiàn)彈出軟鍵盤(pán)
瀏覽路徑:http://weahome.cn/article/pgjjsd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部