嗨我在android中有3个圈子显示进度,是一个从相对布局继承的自定义元素(ViewProgressbar)。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:gravity="center">
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:value= "@string/zero"
app:subject = "@string/txt_progress1"
/>
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:value= "@string/zero"
app:subject = "@string/txt_progress2"
/>
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:value= "@string/zero"
app:subject = "@string/txt_progress3"
/>
</LinearLayout>
我面临的问题是,在屏幕较小的设备中,第三圈小于其他设备。我认为与使用wrap_content相关。有没有办法强迫三个圆圈具有相同的尺寸?
谢谢
答案 0 :(得分:1)
是的,有。使用weight
属性:
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight=1
app:value= "@string/zero"
app:subject = "@string/txt_progress1"
/>
对LinearLayout中的其他视图重复此操作。
答案 1 :(得分:1)
用此替换您的资源。 请注意,WeightSum为3,每个子项为1,最多为3。 每个孩子将在水平方向均匀分布。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
android:weightSum="3"
android:gravity="center">
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress1"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
app:value= "@string/zero"
app:subject = "@string/txt_progress1"
/>
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress2"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
app:value= "@string/zero"
app:subject = "@string/txt_progress2"
/>
<com.theproject.ui.view.ViewProgressbar
android:id="@+id/vps_history_progress3"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"
app:value= "@string/zero"
app:subject = "@string/txt_progress3"
/>
</LinearLayout>