2

こんにちは私はAndroidアプリで簡単なスクロール操作を作成しています。スクロールアビリティには、視差効果を持つCollapsingToolbarLayoutと、AppbarLayoutに固定されたフローティングアクションボタンがあります。CollapseingToolbarLayout with FloatingActionButtonバグ

テキストを下にスクロールするとファブが消え、スクロールすると浮動動作ボタンが再び表示されます。 floatingActionBarは、それがページの下端に、それがその正しい位置(appbarlayout)まで移動させる第2の後に配置された再表示されたとき

バグ)

1です。 2)ツールバーとページの内容の間にはわからない奇妙なマージンがあります。

を1.How私はこの問題を解決することができます。これ以降

は、私が知りたいと思っ見ることは非常に醜いですか? 2.ファブを閉じた状態のツールバーに表示して固定する方法はありますか?ここで

は、バグのデモです:ここでhttp://i.giphy.com/LPMqLSl46Yvu0.gif

は私のレイアウトである:ここでは

<?xml version="1.0" encoding="utf-8"?> 
<android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:fitsSystemWindows="true" 
    tools:context="toxotes.mystikon.EventActivity"> 

    <android.support.design.widget.AppBarLayout 
     android:id="@+id/app_bar_event" 
     android:layout_width="match_parent" 
     android:layout_height="200dp" 
     android:fitsSystemWindows="true" 
     android:theme="@style/AppTheme.AppBarOverlay"> 

     <android.support.design.widget.CollapsingToolbarLayout 
      android:id="@+id/toolbar_layout" 
      android:layout_width="match_parent" 
      android:layout_height="wrap_content" 
      android:fitsSystemWindows="true" 
      app:contentScrim="?attr/colorPrimary" 
      app:layout_scrollFlags="scroll|exitUntilCollapsed"> 

      <ImageView 
       android:layout_width="match_parent" 
       android:layout_height="200dp" 
       app:layout_collapseMode="parallax" 
       android:src="@drawable/test" 
       android:scaleType="centerCrop"/> 
      <android.support.v7.widget.Toolbar 
       android:id="@+id/toolbar_event" 
       android:layout_width="match_parent" 
       android:layout_height="?attr/actionBarSize" 
       app:layout_collapseMode="pin" 
       app:popupTheme="@style/AppTheme.PopupOverlay" /> 

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

    <include layout="@layout/content_event" /> 

    <android.support.design.widget.FloatingActionButton 
     android:id="@+id/fab_event" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/fab_margin" 
     android:src="@android:drawable/ic_media_play" 
     app:layout_anchor="@id/app_bar_event" 
     app:layout_anchorGravity="bottom|end" /> 

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

はcontent_eventレイアウトである:ここで

<?xml version="1.0" encoding="utf-8"?> 
<android.support.v4.widget.NestedScrollView xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    app:layout_behavior="@string/appbar_scrolling_view_behavior" 
    tools:context="toxotes.mystikon.EventActivity" 
    tools:showIn="@layout/activity_event"> 

    <TextView 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_margin="@dimen/text_margin" 
     android:text="@string/large_text" /> 

</android.support.v4.widget.NestedScrollView> 

は、javaです:

public class EventActivity extends AppCompatActivity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_event); 
     Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_event); 
     setSupportActionBar(toolbar); 

     FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab_event); 
     fab.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 
       Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) 
         .setAction("Action", null).show(); 
      } 
     }); 
    } 
} 
+0

アンドロイド設計支援バージョン:

java.lang.IllegalStateException: This app has been built with an incorrect configuration. Please configure your build for VectorDrawableCompat. 

をここでは、同じ問題に遭遇した場合の解決策ですか? –

+0

'com.android.support:design:24.2.0' –

+0

'com.android.support:design:24.1.1'と試してください。 –

答えて

0

ちょうど今日、私は全く同じ問題を抱えていました。サポートライブラリをバージョン24.2.1に更新する必要があります。あなたのビルドgradleで。これは私のためにそれを固定した。

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    testCompile 'junit:junit:4.12' 
    compile 'com.android.support:appcompat-v7:24.2.1' 
    compile 'com.android.support:cardview-v7:24.2.1' 
    compile 'com.android.support:recyclerview-v7:24.2.1' 
    compile 'com.android.support:support-v13:24.2.1' 
    compile 'com.android.support:design:24.2.1' 
} 

しかし、その後、私はベクトルドローアブルとの問題だ:あなたが使用しているhttp://android-developers.blogspot.de/2016/02/android-support-library-232.html

+0

これは完璧に機能しました。ありがとうございました。 –

関連する問題