gpt4 book ai didi

android - 如何自动调整用作图层列表中可绘制项目的图像高度?

转载 作者:行者123 更新时间:2023-11-29 17:25:12 25 4
gpt4 key购买 nike

我有一个 RatingBar 的自定义图像,我想根据父布局留下的空间自动调整图像高度。

布局如下:

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/rateus_bg"
android:scaleType="fitXY" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<com.ims.westmont.android.view.TextViewUniSans
android:id="@+id/textview_rate_us"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:text="@string/rate_us"
android:textAllCaps="true"
android:textColor="@android:color/white"
android:textSize="60sp"
android:textStyle="bold" />

<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center"
android:orientation="vertical">

<RatingBar
android:id="@+id/ratingbar_rate"
style="@style/rateUsBar"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:numStars="5"
android:rating="0"
android:stepSize="0.5" />
</LinearLayout>

<com.ims.westmont.android.view.TextViewUniSans
android:id="@+id/button_send"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="@string/send"
android:textColor="@android:color/white"
android:textSize="60sp"
android:textAllCaps="true"
android:layout_weight="1"
android:gravity="center"/>
</LinearLayout>

这是视觉表示: rate

由于我使用的是 LinearLayout,其中的三个元素具有相同的高度。 RatingBar 使用自定义样式:

<style name="rateUsBar" parent="@android:style/Widget.RatingBar">
<item name="android:progressDrawable">@drawable/rating_stars</item>
<item name="android:minHeight">90dp</item>
<item name="android:maxHeight">90dp</item>
</style>

最后是可绘制的 rating_stars:

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@android:id/background"
android:drawable="@drawable/rate_empty" />
<item
android:id="@android:id/secondaryProgress"
android:drawable="@drawable/rate_empty" />
<item
android:id="@android:id/progress"
android:drawable="@drawable/rate_filled" />
</layer-list>

这是一个重量问题还是我应该创建一个自定义 View (类)来调整高度?

最佳答案

一个解决方案是

使用不同的值文件夹

  1. 值(value)观2.values-mdpi, values-mdpi-land 3 values-sw320dp, values-sw320dp-land 4 values-sw480dp, values-sw480dp-land 5 values-sw600dp, values-sw600dp-land 6 values-sw720dp, values-sw720dp-土地

现在将您的 style.xml 文件放在每个文件夹中,并根据您的设备分别设置高度和宽度。

 <LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:orientation="vertical">

<RatingBar
android:id="@+id/ratingbar_rate"
style="@style/rateUsBar"
android:numStars="5"
android:rating="0"
android:stepSize="0.5" />
</LinearLayout>

您可以在预览选项中检查不同设备的预览布局。

关于android - 如何自动调整用作图层列表中可绘制项目的图像高度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34992343/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com