2017-01-17 3 views
1

私はAndroid Studio 2.2.3を使用しています。新しいタブプロジェクトを作成し、タブごとにいくつかの断片を追加します。そして、タブのアイコンを追加しました。すべてが大丈夫です。 しかし、 私はスクロールすると、特にアクションバーが上下に移動します。それは私には醜いようです。アクションバーの移動を停止するには

私の質問

ugly screen when actionbar move upは次のとおりです:

  1. がどのように私はアクションバーを上下に移動し停止するために行うことができます(私は追加did'tタイトルとパディングエリア)のスクリーンショットを見てくださいそんな?私は 後でそれを処理したい(ユーザがAndroid 5.1の連絡先アプリのように のビューをスクロールすると、隠され、隠されているかもしれない)。
  2. 移動を停止できない場合は、 (XMLファイルを使用して)パディングエリアを削除するにはどうすればよいですか?

私はちょうどアンドロイドを学び始めているので、これらの質問が十分でない場合は私を許してください。

そして、ここでは私の主な活動のレイアウトファイルです(これは、Android Studioなどのオリジナルは、それを作成した):

<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="@dimen/appbar_padding_top" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <android.support.v7.widget.Toolbar 
     android:id="@+id/toolbar" 
     android:layout_width="match_parent" 
     android:layout_height="?attr/actionBarSize" 
     android:background="?attr/colorPrimary" 
     app:layout_scrollFlags="scroll|enterAlways" 
     app:popupTheme="@style/AppTheme.PopupOverlay"> 

    </android.support.v7.widget.Toolbar> 

    <android.support.design.widget.TabLayout 
     android:id="@+id/tabs" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" /> 

</android.support.design.widget.AppBarLayout> 

<android.support.v4.view.ViewPager 
    android:id="@+id/container" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" /> 

<android.support.design.widget.FloatingActionButton 
    android:id="@+id/fab" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_gravity="end|bottom" 
    android:layout_margin="@dimen/fab_margin" 
    app:srcCompat="@android:drawable/ic_dialog_email" /> 

感謝を。

答えて

0

ルートレイアウトでandroid:fitsSystemWindows="true"を追加すなわち、以下のように変更します。

Androidのドキュメントから
<android.support.design.widget.AppBarLayout 
    android:id="@+id/appbar" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:paddingTop="@dimen/appbar_padding_top" 
    android:fitsSystemWindows="true" 
    android:theme="@style/AppTheme.AppBarOverlay"> 

    <!-- rest of your layout here --> 

</android.support.design.widget.AppBarLayout> 

android:fitsSystemWindowsの詳細を:ビューのレイアウトを調整する

内部属性など などのシステムのウィンドウに基づきますステータスバー。 trueの場合、このビューのパディングを調整して、システムウィンドウのスペースを のままにします。このビューが埋め込まれていないアクティビティの にある場合にのみ有効です。

"true"または "false"のいずれかのブール値でなければなりません。

"@ [package:] type:name")またはテーマ属性(形式: "?[package:] [type:] name)の参照でもあります。このタイプの値を含んでいます。

これは、グローバル属性リソースシンボル fitsSystemWindowsに対応します。

app:layout_behavior="@string/appbar_scrolling_view_behavior" 

をそして、あなたの主な活動のレイアウトから、ツールバーのタグの下に次の行をから削除 - - スクロールの問題については

、あなたのフラグメントレイアウトから次の行を削除

app:layout_scrollFlags="scroll|enterAlways" 
+0

Iあなたが言ったようにやったが、まだ働いていない。 [こちらのプロジェクト](https://www.dropbox.com/s/koaman7hpyiwcoz/myNote.zip?dl=0)。最後の項目は、通常の位置にアクションバーが表示されていません。 – MNCvn

+0

ソースコードをダウンロードし、動作させるためにいくつかのことを試しました。私は自分の答えを編集しました。また、listviewの代わりにrecyclerviewを使ってみてください。それは推奨される選択肢です。 – Dibzmania

関連する問題