2017-06-06 21 views
0

this projectのビューの背景に問題があります。背景とレイヤーの問題(Androidスタジオ)

透明なレイヤーを持つビューが1つありますが、常に表示されるわけではありません。このビューの高さは自動的に0に設定されているようですビューを含むアクティビティ次のようにこの要素のコードは次のとおり

<View 
     android:layout_width="match_parent" 
     android:layout_height="match_parent" 
     android:layout_margin="16dp" 
     android:alpha="0.5" 
     android:background="@drawable/background_layers" /> 

この活性のメインビューグループがScrollViewあります。

Vertical orientation: background transparent layer displays correctly

:全体のレイアウトが表示され、画面上に表示されている(あなたがスクロールダウンする必要はありません)されている場合は、すべてが正常に動作します(この質問のテーマである透明層、を見て)

しかし、画面密度が低い場合、またはデバイスが縦向きの場合、フルレイアウトが同時に表示されないためにスクロールを使用する必要があります...前のビューは表示されず、透明レイヤーは表示されません

Horizontal orientation: background transparent layer is not displayed

:(可視アプリがあるときに起こります私が言ったように、プレビュー画面でアンドロイドスタジオでも実行しています。アンドロイドStudioでの活動のプレビュー]タブに見られるようにここでは、垂直方向および低画面密度の例です。

Preview screen in Android Studio

このisueを修正するための任意のアイデア?

ありがとうございます。

David。

+0

レイアウト全体のコードを投稿できますか? –

+0

@JuanMartinezはここに投稿するのが間違いだと思います。私はこの活動のためにGistを作成しました:https://gist.github.com/dburgosp/69ad5359af0f39590d2261361d72b429 –

答えて

1

レイアウトに問題があると思われます。 transparent_backgroundビューの高さは、高さがmatch_parent、親(main_relative_layoutビュー)の高さがwrap_contentに設定されていることがあります。 android:layout_alignTop,android:layout_alignBottom,およびandroid:layout_alignRightの属性を使用して、おそらくコンテンツをラップするLinearLayoutという別のビューに相対的なサイズを設定する必要があります(transparent_background)。 transparent_backgroundビューを正しく整列させるために、LinearLayoutマージンを削除してパディングを使用する必要がある場合があります。何か助けが必要な場合はお知らせください。

+0

ありがとう、@ JuanMartinez。私は試してみましたが、成功していませんでした:(私はScrollViewをインクルードしたときに問題が発生したことを忘れていましたので、この問題を解決する最善の方法はScrollViewを削除し、スクロールの必要はありません。 –

+1

はい、それを追加したときにmain_relative_layout RelativeLayoutの高さをwrap_contentに設定しなければならなかったので、ScrollViewに問題が表示されることがあります。ScrollViewを削除してRelativeLayout高さはmatch_parentになり、問題はなくなります。 –