我有一个带有自定义行布局的列表视图。在这个自定义行中是一个进度条(“圆圈”),它指示加载状态。为了使布局看起来我喜欢它,我使用 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"
>
我希望进度条具有相同的纵横比。
我的问题是进度条在不同的设备上看起来很奇怪。在我的 Galaxy Nexus 上,一切看起来都很好,并且进度条具有相同的纵横比。但是在 - 例如 - 我的模拟器上,进度条看起来像一个鸡蛋,这太可怕了。
有人可以指出我的错误吗?
编辑:
我不使用 wrap_content 因为布局将在视图的其余部分使用进度条的宽度,这真的很小(那么文本就没有地方了)。
编辑2:
两张图片显示问题:
“蛋” http://s14.directupload.net/file/d/2955/89xvdhrz_png.htm
wrap_content 的使用 http://s1.directupload.net/file/d/2955/sryrhkkk_png.htm
编辑3:
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>