2012-07-18 140 views
3

我有一個自定義行佈局的列表視圖。在這個自定義行中有一個進度條(「circle」),它表示一個加載狀態。爲了使佈局看起來我喜歡它,即時通訊使用layout_weight進度條和包含一些其他GUI東西的佈局。縱橫比自定義列表視圖中的縱橫比

實施例:

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleSmall" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="1" /> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="7" 
    android:layout_marginLeft="6dip" 
    android:orientation="vertical" 
    > 

我想要的進度爲具有相同的縱橫比。

我的問題是進度條在不同的設備上看起來很奇怪。在我的銀河系中,一切看起來都很好,進度條的縱橫比相同。但是 - 例如 - 我的模擬器,進度條看起來像一個雞蛋,這很可怕。

有人可以指出我的錯誤嗎?

編輯:

我不使用WRAP_CONTENT因爲佈局將使用進度的寬度來看,這是非常微小的其餘部分(再有就是對文本沒有地方)。

EDIT2:

兩幅圖片顯示問題:

「蛋」 的WRAP_CONTENT的 http://s14.directupload.net/file/d/2955/89xvdhrz_png.htm

使用 http://s1.directupload.net/file/d/2955/sryrhkkk_png.htm

EDIT3:

CFlex'方法。整個XML文件

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
android:layout_width="fill_parent" 
android:layout_height="wrap_content" 
android:orientation="horizontal"> 

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:layout_margin="4dp"/> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="0dip" 
    android:layout_height="match_parent" 
    android:layout_weight="7" 
    android:layout_marginLeft="6dip" 
    android:orientation="vertical" 
    > 

    <TextView 
     android:id="@android:id/text1" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceLarge"/> 

    <TextView 
     android:id="@android:id/text2" 
     android:layout_width="fill_parent" 
     android:layout_height="wrap_content" 
     android:textAppearance="?android:attr/textAppearanceSmall"/> 

</LinearLayout> 

+0

爲什麼不u使用包裹內容,而不是在編輯我的問題進度 – rajpara 2012-07-18 14:10:28

+0

給match_parent和0dip。不能使用wrap_content,因爲我的佈局將被破壞。 – eftokay83 2012-07-18 14:14:27

+0

您可以將樣式設置爲進度條,如小,中等和大。例如style =「?android:attr/progressBarStyleSmall」 – rajpara 2012-07-18 14:19:15

回答

4

你爲什麼不嘗試這樣的事:

<ProgressBar 
    android:id="@+id/progressBar1" 
    style="?android:attr/progressBarStyleSmall" 
    android:layout_width="wrap_content" 
    android:layout_height="match_parent" 
    android:layout_gravity="center" 
    android:layout_margin="4dp"/> 


<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="0dp" 
    android:layout_height="match_parent" 
    android:layout_weight="1" 
    android:layout_marginLeft="6dip" 
    android:orientation="vertical" 
    > 

假設你是在一個水平LinearLayout

告訴我,如果這行不通。

編輯:用RelativeLayout的

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

    <ProgressBar 
      android:id="@+id/progressBar1" 
      style="?android:attr/progressBarStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="match_parent" 
      android:layout_alignParentLeft="true" 
      android:layout_centerVertical="true" 
      android:layout_margin="4dp"/> 

    <TextView 
      android:id="@android:id/text1" 
      android:layout_toRightOf="@+id/progressBar1" 
      android:layout_alignParentTop="true" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceLarge"/> 

    <TextView 
      android:layout_toRightOf="@+id/progressBar1" 
      android:layout_below="@android:id/text1" 
      android:id="@android:id/text2" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceSmall"/> 

</RelativeLayout> 
+0

@ eftokay83的確,這很奇怪。你可以發佈你的整個XML? – AMerle 2012-07-18 14:45:47

+0

太長以至於無法發表評論。我編輯它在開幕帖子 – eftokay83 2012-07-18 14:54:52

+0

@ eftokay83你嘗試使用android:layout_width =「match_parent」爲您的水平linearLayout? – AMerle 2012-07-18 14:58:49