2011-07-30 21 views
0

フレームレイアウト内にプログレスバーとテキストビューがあります。テキストがプログレスバーと重なります。Android。フレームレイアウト内に異なる高さの重なり合う2つのビューが同じ高さになる

テキストビューは(テキストの長さのために)プログレスバーの高さの2倍で、プログレスバーの高さを自動調整したいと思います。

プログレスバーをmatch_parentに設定し、親に対してwrap_contentを設定して、プログレスバーの高さが上がらないようにしてみました。アンドロイドと

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
> 

<ProgressBar 
    android:layout_width="match_parent" 
    style="?android:attr/progressBarStyleHorizontal" 
    android:layout_height="fill_parent" 
    android:layout_gravity="center_horizontal|center_vertical" 
/> 

<TextView 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:textSize="30sp" 
    android:text="Big long text here................................"  
    android:layout_gravity="center_horizontal|center_vertical" 
/> 

</FrameLayout> 
+0

match_parentとfill_parent? –

答えて

4

RelativeLayoutを使用して、layout_alignを使用して境界線を揃えます。

<RelativeLayout 
     android:layout_width="fill_parent" 
     android:layout_height="fill_parent" 
     android:focusable="false"> 
     <TextView 
      android:id="@+id/textview" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textSize="30sp" 
      android:text="Big long text here................................" 
      android:layout_gravity="center_horizontal|center_vertical" /> 
     <ProgressBar 
      style="?android:attr/progressBarStyleHorizontal" 
      android:layout_height="fill_parent" 
      android:layout_gravity="center_horizontal|center_vertical" 
      android:layout_alignTop="@id/textview" 
      android:layout_alignLeft="@id/textview" 
      android:layout_alignBottom="@id/textview" /> 
    </RelativeLayout> 
+1

私はあなたを愛しています。ありがとうございました。 textviewはxmlのプログレスバーの後になければなりません(上に表示されます)。 これは、android:layout_alignTop = "@ + id/textview"(IDがまだ定義されていないため)のprogressbarタグ内のandroid:layout_alignTop = "@ id/textview"などを置き換える必要があります。それは素晴らしい作品です! – user

0

利用のLinearLayout::プログレスバーとTextViewの両方のために= "1" layout_weight

XMLはそうのようなものです。このようなもの

<LinearLayout android:layout_height="match_parent" 
android:layout_width="match_parent" 
android:orientation="vertical> 
<ProgressBar 
android:layout_width="match_parent" 
style="?android:attr/progressBarStyleHorizontal" 
android:layout_height="0dp" 
android:layout_gravity="center_horizontal|center_vertical" 
android:layout_weight="1" 
/> 

<TextView 
android:layout_width="wrap_content" 
android:layout_height="0dp" 
android:textSize="30sp" 
android:text="Big long text here................................"  
android:layout_gravity="center_horizontal|center_vertical" 
android:layout_weight="1" 
/> 
</LinearLayout> 

なぜFrameLayoutを選択しましたか?

+0

編集をご覧ください。それらは重複するビューです。 – user

+0

ええ、ありがとう。 – PravinCG

関連する問題