2013-06-19 15 views
5

私はYuri Kanivets's WheelView controlを使用していますが、レイアウトXMLがそれを指定していても親ビューを塗り潰していないことがわかりました。ここでWheelViewが親に塗りつぶされていない

は、私が何を意味するかのイメージは次のとおりです。ここで

enter image description here

は、レイアウトXMLである:ここで

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:orientation="vertical" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:background="#00000000"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_alignParentBottom="true" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" 
      android:orientation="horizontal" 
      android:paddingTop="5dp" 
      android:paddingBottom="5dp" 
      android:background="@drawable/picker_bar"> 
      <Button 
       android:id="@+id/repeatButton" 
       android:textColor="#FFF"     
       android:layout_gravity="center_vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/picker_button_selected" 
       android:paddingTop="8dp" 
       android:paddingBottom="8dp" 
       android:paddingLeft="15dp" 
       android:paddingRight="15dp" 
       android:layout_marginLeft="7dp" 
       android:gravity="center" 
       android:textSize="16sp" 
       android:text="Repeat"/> 
      <Button 
       android:id="@+id/DelayButton" 
       android:layout_gravity="center_vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/picker_button_unselected" 
       android:paddingTop="8dp" 
       android:textColor="#FFF" 
       android:paddingBottom="8dp" 
       android:paddingLeft="15dp" 
       android:paddingRight="15dp" 
       android:layout_marginLeft="10dp" 
       android:gravity="center" 
       android:textSize="16sp"   
       android:text="Delay"/> 
      <Button 
       android:id="@+id/doneButton" 
       android:layout_marginLeft="10dp" 
       android:layout_gravity="center_vertical" 
       android:layout_width="wrap_content" 
       android:layout_height="wrap_content" 
       android:background="@drawable/picker_button_unselected" 
       android:textColor="#FFF" 
       android:paddingTop="8dp" 
       android:paddingBottom="8dp" 
       android:paddingLeft="15dp" 
       android:paddingRight="15dp" 
       android:gravity="center" 
       android:textSize="16sp" 
       android:text="Done"/>    
     </LinearLayout> 

     <include layout="@layout/repeat_view"/> 
     <include layout="@layout/delay_view"/> 
    </LinearLayout> 
</RelativeLayout> 

リピート/ディレイビューXMLである(彼らは両方ともかなり多くあります同じ):

ビューを追加する方法は次のとおりです。

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.settings); 

      ... 

私はWheelViewソースから見てきたが、全体のコントロールの幅が設定されている場所とホイールコントロールが何らかの形でも親のレイアウトの幅を制御しているかどうかは明らかではありません。

これは最新のSDKで実行されています。私が行方不明になっていることは明らかですか? 3 desiderata.ihunt.resources.WheelView含ま

+0

投稿したXMLとホイールピッカーとの間に接続がないことがわかります。正しいファイルを投稿しましたか? – Simon

+0

@ Simonリピート/遅延ビューのXMLファイルを追加しました。あなたが何か他のものを見る必要がある場合私に知らせてください – ZeNewb

+0

リピートと遅延の2つのビューがありますか?その場合、IDの競合が発生する可能性があります。 – Eric

答えて

6

LinearLayoutandroid:layout_width="fill_parent"を持っていますが、Wh​​eelViews自身が持っている:

android:layout_height="wrap_content" 
android:layout_width="wrap_content" 

それは言われて、私は質問を理解している場合、正しく3つの車輪の幅がそれ以下であればことを、意味しますparent(この場合はLinearLayoutには3つのdesiderata.ihunt.resources.WheelViewが含まれています)の幅 - LinearLayoutの塗りつぶしの車輪には無地の色(たとえば黒色)を塗りつぶして、背後のものを隠す必要があります。

+0

明確な説明をありがとう! – ZeNewb

+0

あなたは大歓迎です:) – g00dy

1

g00dyの代わりの解決策(彼は完全に正しいですが) - 各ホイールの幅を0dpに設定し、layout_weight = 1に設定すると、3が伸びて画面の同じ部分を占めます。それらを等しくしたくない場合は、必要な比率で設定します。

+0

偉大な選択肢!私はこれを試してみましょう – ZeNewb

0
<LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_width="fill_parent" 
     android:paddingTop="4dp" 
     android:weightSum="3"  // add weight sum here 
     android:paddingBottom="4dp"  
     android:orientation="horizontal"> 
     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/activeRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="1"/>    //weights here 
     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/minsRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="1"/>    //weights here 
     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/secsRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="wrap_content" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="1"/>    //weights here  
    </LinearLayout> 

変更この

0

のようなあなたの車のレイアウトは、これは、ウィジェットが画面幅いっぱいになりますあなたのリピート/ディレイビューのXML

<LinearLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/wheelRepeat" 
    android:layout_height="wrap_content" 
    android:orientation="vertical" 
    android:background="@drawable/layout_bg" 
    android:layout_width="fill_parent"> 
    <LinearLayout 
     android:layout_height="wrap_content" 
     android:layout_gravity="center_horizontal" 
     android:layout_width="fill_parent" 
     android:paddingTop="4dp" 
     android:paddingBottom="4dp"  
     android:orientation="horizontal" 
     android:weightSum="10"> 

     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/activeRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="0dp" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="2"/>    
     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/minsRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="0dp" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="4"/> 
     <desiderata.ihunt.resources.WheelView 
      android:id="@+id/secsRepeat" 
      android:layout_height="wrap_content" 
      android:layout_width="0dp" 
      android:layout_gravity="center_vertical" 
      android:layout_weight="4"/>     
    </LinearLayout> 
</LinearLayout> 

のために、このようなレイアウトを試してみて、あなたが調整することができますレイアウトの重みを調整することにより、幅の比率を計算します。ランドスケープモードで画面全体を満たすウィジェットが必要ない場合は、親線形レイアウトの幅にラップコンテンツを使用できます。

関連する問題