2016-03-19 16 views
0

Ich bin mit Statusleiste versteckt stecken. Lassen Sie mich erklären, ich bin Implementieren Aktivität und auch Manifest-Datei in android:windowSoftInputMode="adjustResize" für Tastatur platzieren unter edittext, es funktioniert gut, aber ich möchte auch verstecken navigation bar, so dass ich "Theme.Holo.Light.NoActionBar.Fullscreen" Thema verwenden. Aber wenn Tastatur App-Navigationsleiste auch scrollen. Wie kann ich die Scroll-Navigationsleiste einschränken und die Benachrichtigungsleiste ausblenden, wenn die Tastatur angezeigt wird? enter image description hereWie kann Statusleiste verbergen

enter image description here

+0

Mögliche Duplikat http://stackoverflow.com/questions/5431365/how-to-hide-status-bar-in-android –

Antwort

0

ich das denke, ist Ihnen helfen, =>http://developer.android.com/reference/android/view/View.html#setSystemUiVisibility(int)

=> setSystemUiVisibility (neuVIS); // diese Methode hilft Ihnen

=> das ist Klasse für Informationen und besser zu verstehen.

public static Klasse Inhalt erweitert Scroll implementiert View.OnSystemUiVisibilityChangeListener, View.OnClickListener { Textview mText; TextView mTitleView; SeekBar mSeekView; boolean mNavVisible; int mBaseSystemUiVisibility = SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | SYSTEM_UI_FLAG_LAYOUT_STABLE; int mLastSystemUiVis;

Runnable mNavHider = new Runnable() { 
    @Override public void run() { 
     setNavVisibility(false); 
    } 
}; 

public Content(Context context, AttributeSet attrs) { 
    super(context, attrs); 

    mText = new TextView(context); 
    mText.setTextSize(TypedValue.COMPLEX_UNIT_DIP, 16); 
    mText.setText(context.getString(R.string.alert_dialog_two_buttons2ultra_msg)); 
    mText.setClickable(false); 
    mText.setOnClickListener(this); 
    mText.setTextIsSelectable(true); 
    addView(mText, new ViewGroup.LayoutParams(
      ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.WRAP_CONTENT)); 

    setOnSystemUiVisibilityChangeListener(this); 
} 

public void init(TextView title, SeekBar seek) { 
    // This called by the containing activity to supply the surrounding 
    // state of the content browser that it will interact with. 
    mTitleView = title; 
    mSeekView = seek; 
    setNavVisibility(true); 
} 

@Override public void onSystemUiVisibilityChange(int visibility) { 
    // Detect when we go out of low-profile mode, to also go out 
    // of full screen. We only do this when the low profile mode 
    // is changing from its last state, and turning off. 
    int diff = mLastSystemUiVis^visibility; 
    mLastSystemUiVis = visibility; 
    if ((diff&SYSTEM_UI_FLAG_LOW_PROFILE) != 0 
      && (visibility&SYSTEM_UI_FLAG_LOW_PROFILE) == 0) { 
     setNavVisibility(true); 
    } 
} 

@Override protected void onWindowVisibilityChanged(int visibility) { 
    super.onWindowVisibilityChanged(visibility); 

    // When we become visible, we show our navigation elements briefly 
    // before hiding them. 
    setNavVisibility(true); 
    getHandler().postDelayed(mNavHider, 2000); 
} 

@Override protected void onScrollChanged(int l, int t, int oldl, int oldt) { 
    super.onScrollChanged(l, t, oldl, oldt); 

    // When the user scrolls, we hide navigation elements. 
    setNavVisibility(false); 
} 

@Override public void onClick(View v) { 
    // When the user clicks, we toggle the visibility of navigation elements. 
    int curVis = getSystemUiVisibility(); 
    setNavVisibility((curVis&SYSTEM_UI_FLAG_LOW_PROFILE) != 0); 
} 

void setBaseSystemUiVisibility(int visibility) { 
    mBaseSystemUiVisibility = visibility; 
} 

void setNavVisibility(boolean visible) { 
    int newVis = mBaseSystemUiVisibility; 
    if (!visible) { 
     newVis |= SYSTEM_UI_FLAG_LOW_PROFILE | SYSTEM_UI_FLAG_FULLSCREEN; 
    } 
    final boolean changed = newVis == getSystemUiVisibility(); 

    // Unschedule any pending event to hide navigation if we are 
    // changing the visibility, or making the UI visible. 
    if (changed || visible) { 
     Handler h = getHandler(); 
     if (h != null) { 
      h.removeCallbacks(mNavHider); 
     } 
    } 

    // Set the new desired visibility. 
    setSystemUiVisibility(newVis); 
    mTitleView.setVisibility(visible ? VISIBLE : INVISIBLE); 
    mSeekView.setVisibility(visible ? VISIBLE : INVISIBLE); 
} 

}

Verwandte Themen