web-dev-qa-db-ja.com

Android recyclerview v.23.2.0&デザインライブラリv.23.2.0が壊れています

V23.2.0に更新した後、recyclerviewアイテムの動作がおかしくなります。非常に大きく、空き領域があります。デザインライブラリ23.2.0に更新した後、メニューオーバーフローアイコンが黒になりました(アプリのアクションバーが暗い)。

[〜#〜] update [〜#〜]ネクサス5のオーバーフローアイコンとリサイクラービューの行は修正されていますが、ギャラクシータブ4のオーバーフローアイコンはまだ黒。

UPDATE 2空の間隔に問題がある場合は、ビューのレイアウトパラメータを修正し(match_parent-> wrap_content)、RecyclerViewがその内容のサイズ。このブログを読む http://Android-developers.blogspot.am/2016/02/Android-support-library-232.html

RecyclerViewウィジェットは、リストとグリッドを作成し、アニメーションをサポートするための高度で柔軟なベースを提供します。このリリースでは、LayoutManagerAPIにエキサイティングな新機能である自動測定が導入されています。これにより、RecyclerViewはコンテンツのサイズに基づいてサイズを変更できます。これは、RecyclerViewのディメンションにWRAP_CONTENTを使用するなど、以前は利用できなかったシナリオが可能になったことを意味します。組み込みのすべてのLayoutManagerが自動測定をサポートするようになりました。

この変更により、アイテムビューのレイアウトパラメータを再確認してください。以前は無視されていたレイアウトパラメータ(スクロール方向のMATCH_PARENTなど)が完全に尊重されるようになりました。

UPDATE 3アクションバーの黒いアイコンの問題を説明する問題へのリンク 問題201918

UPDATE 4投稿の下の私の答えを参照してください、アイコンの問題も解決されています

31
android_dev

大きなオープンスペースが発生する理由は、match_parentが原因です。以前は正しく機能していませんでしたが、新しいリリースでは動作が異なります。 match_parentではなくwrap_contentに更新する必要があります。これにより、レイアウトが親と一致し、大きなスペースが得られます。

RecyclerViewウィジェットは、リストとグリッドを作成し、アニメーションをサポートするための高度で柔軟なベースを提供します。このリリースでは、LayoutManagerAPIにエキサイティングな新機能である自動測定が導入されています。これにより、RecyclerViewはコンテンツのサイズに基づいてサイズを変更できます。これは、RecyclerViewのディメンションにWRAP_CONTENTを使用するなど、以前は利用できなかったシナリオが可能になったことを意味します。組み込みのすべてのLayoutManagerが自動測定をサポートするようになりました。

http://Android-developers.blogspot.co.uk/2016/02/Android-support-library-232.html

20
James Britton

Appcompat-v7はベクタードローアブルを使用するため、support-vector-drawableとsupport-animated-vector-drawableの2つの新しいライブラリが必須のようです( 問題の説明 )。ベクタードローアブルのサポートを追加するには、build.gradleを次のように更新するだけで、黒いアイコンの問題が解決されます

build.gradle

GradleプラグインバージョンのビルドGradleベースに次の行を追加します

// Gradleプラグイン2.0以降

 Android {  
   defaultConfig {  
     vectorDrawables.useSupportLibrary = true  
    }  
 }   

// Gradleプラグイン1.5

 Android {  
   defaultConfig {  
     generatedDensities = []  
  }  

  // This is handled for you by the 2.0+ Gradle Plugin  
  aaptOptions {  
    additionalParameters "--no-version-vectors"  
  }  
 } 

[〜#〜] update [〜#〜]AppCompatユーザーの場合、23.2 ブログ投稿 で説明されているサポートベクタードローアブルを有効にするためのフラグはなくなりました。 AppCompat23.2.1の使用に必要です。ただし、独自のリソースにサポートベクタードローアブルを使用する場合は、app:srcCompat属性を利用できます。

1
android_dev