gpt4 book ai didi

Android - 形状标签中 useLevel 的用途

转载 作者:IT老高 更新时间:2023-10-28 23:15:16 28 4
gpt4 key购买 nike

android shape xml标签useLevel属性的作用是什么?这是关于图层列表的,但应该无关紧要。 来自 docs我找到了useLevel标签的含义:

Indicates whether the drawable's level affects the way the gradient is drawn.

所以如果我有以下 xml fragment :

    <?xml version="1.0" encoding="utf-8"?>
<shape
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="ring"
android:innerRadius="15dp"
android:thickness="10dp"
android:useLevel="false">

<solid android:color="#ababf2" />

<size
android:height="50dp"
android:width="50dp" />
</shape>

然后使用useLevel=true,环被禁用。戒指出现一定是假的。但是这个属性的目的是什么?文档不清楚。

最佳答案

它适用于进度条。例如 this gist使用环形作为进度可绘制对象。

res/drawable/github_232_circular.xml:

<shape xmlns:android="http://schemas.android.com/apk/res/android"
android:innerRadiusRatio="2.3"
android:shape="ring"
android:thickness="3.8sp"
android:useLevel="true">
<solid android:color="#ff0000" />
</shape>

在您的布局中:

<ProgressBar
android:id="@+id/progress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="64dp"
android:layout_height="64dp"
android:layout_gravity="top|end"
android:max="100"
android:progress="0"
android:progressDrawable="@drawable/github_232_circular"
/>

基本上,useLevel 使得drawable 可以被部分绘制。例如有一个方法ImageView.setImageLevel()这可以让你设置一个“级别”,例如25% 的进度,因此可绘制的圆环将被绘制为四分之一圆。和ProgressBar.setProgress()做同样的事情,更新您在 ProgressBar 上设置的可绘制对象的“级别”。

关于Android - 形状标签中 useLevel 的用途,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35803975/

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