2013-08-24 22 views
10

私は同じ広画面とその子供な限り高いようである水平LinearLayoutを持っていると思いますが、トリックがありますその子供たちはそれぞれ動的な幅を持つだろうと私は彼らが画面(カットアウト)から外に出たくはありません。私はそれらがすべて目に見えるように、彼らが新しい行に流れたり壊れたりするようにします。水平のLinearLayout、ノーモア水平スペースニューライン上で以下の子供を移動

Androidにはまったく関係ありませんが、インライン<div>のHTMLでの動作と似ています。

は、ここで私が今持っているものです。

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text="If you would enter some digits in this field " /> 
     <EditText 
      android:id="@+id/tvDistance" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:hint="enter some digits here"/> 
     <TextView 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:text=" that would be great" /> 
    </LinearLayout> 

しかし、すぐにLinearLayoutの子どもたちは、余分な部分が見えない/画面を降り画面よりも広くなるよう。

+0

Androidレイアウトでは実行できません。幅を測定するリスナーを実装し、ビューを移動しないようにし、ビューを移動させない限り、もう一つの選択肢は、WebViewを作成してそれを作成することです。私はそれがそのようなものであることは知っていますが、私はその面での経験はありません。がんばろう。 – LuckyMe

答えて

14

私は 画面とその子と同じ高と同じ幅である水平方向のLinearLayoutを持っていると思いますが、トリックは、その子 がダイナミック幅にそれぞれを持っていますし、私は彼らが行くしたくないということですオフスクリーン (切り抜き)。

LinearLayoutLinearLayoutが水平または垂直線ですべて子供を配置するように設定されているので、(それを行うことはできませんSDKから任意のデフォルトのレイアウト)を行うことはできません。また、まだ利用できないディメンションに基づいた任意のタイプの条件付きレイアウトルール(場合によってはLinearLayoutの利用可能な幅)はxmlでは不可能です。

あなたが必要とするのは、下に新しい行にある適切でない子供を移動させる空きスペースを子供が使用するように測定するカスタムレイアウトです(いわゆるFlowLayout)。

編集:

Googleは今、Android上でウェブのフレキシボックスのレイアウトを実装flexboxライブラリを提供します。そのライブラリーを使用して、FlexboxLayoutの子属性(ラップの値を有する)flexDirectionの値を有する)とflexWrapを使用して、それらの幅に基づいて複数の行に配置されます。

+0

壊れたビデオのリンク –

+0

@ViperAlphaはい、パーリーのサイトはなくなりました。私は交換用のビデオを探しましたが、何も見つかりませんでした。ビデオはChet HaaseのアンドロイドSDK開発者がカスタムビューを作成し、そのプロセスでFlowLayoutを作成することを話していました。必要に応じてそのレイアウトを実装するライブラリがあります。https://github.com/ApmeM/android-flowlayoutのようなライブラリ – Luksprog

+1

Googleが独自に実装したことを知っています:https://github.com/google/flexbox-layout、Itあなたのアンヴェールでそれを追加するのがいいでしょう。 –

関連する問題