在Android中,Drawable是“可以绘制的东西”的一般抽象。
如何更改可绘制ImageView的颜色android kotlin
我的可绘制包ic_vector_point_image中有一个矢量图标: 我的 vector 包中有一个 drawable 图标 ic_vector_point_image: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="10dp" android:height="10dp" android:viewportWidth="3" android:viewportHeight="3"> <path android:pathData="M1.5,1.5m-1.5,0a1.5,1.5 0,1 1,3 0a1.5,1.5 0,1 1,-3 0" android:fillColor="#4C55E4"/> --- blue color </vector> 然后我将这个 vector 图标与我的 ImageView: <ImageView android:id="@+id/point" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginBottom="3.7dp" android:src="@drawable/ic_vector_typing_indicator_point" app:layout_constraintBottom_toBottomOf="@id/typing_text" app:layout_constraintStart_toStartOf="parent" tools:ignore="ContentDescription" /> 我需要为此 argb 设置 drawable 颜色,如下所示: imageView.setColor(Color.argb())。我该怎么做? 您可以像这样更改图像视图的色调: imageView.setColorFilter(Color.argb(255, 255, 255, 255)); // 白色
如何复制 Google Play 商店中使用的卡片视图高度和宽度
有谁在 Google Play 商店中正式使用默认宽度和高度值以及文本样式吗?有趣的是,似乎有某种
从 res 的 Drawable 中创建位图的有效方法(BitmapFactory 与类型转换)
从资源中的 Drawable 中创建 Bitmap 的哪种方法更有效? 位图 myBitmap = BitmapFactory.decodeResource(context.getResources(), R.
除了 android studio 中的默认 drawable 文件夹外,还有什么方法可以访问我创建的 drawable 文件夹吗?
我正在做一个关于使用kotlin jetpack compose在android studio中输入带有国家代码的手机的项目。我想大约有 200 或 250 个国家,当然他们有照片。如果...
我有一个自定义进度条,如下所示: 这是我用来创建它的 .xml 代码: background_drawable.xml 我有一个自定义进度条,看起来像这样: 这是我用来创建它的 .xml 代码: background_drawable.xml <?xml version="1.0" encoding="UTF-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android" android:innerRadius="@dimen/progress_bar_radial_inner_radius" android:thickness="@dimen/progress_bar_radial_thickness" android:shape="ring" android:useLevel="false" > <solid android:color="@color/main_color_alpha"/> </shape> progress_drawable.xml <?xml version="1.0" encoding="UTF-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="270" android:toDegrees="270"> <shape android:innerRadius="@dimen/progress_bar_radial_inner_radius" android:thickness="@dimen/progress_bar_radial_thickness" android:shape="ring" > <solid android:color="@color/main_color"/> </shape> </rotate> 我想要得到的是我用来显示进度的圆环的圆角。看起来像这样的东西: 有人知道如何实现吗? 我能够使用图层列表并在线条的每一侧添加一个点来实现这一点。第一个将卡在顶部,而第二个将跟随进度,因为在旋转元素中添加了插图。不过,您必须根据进度条布局的大小对其进行调整。我的是 250dp x 250dp。 progress_drawable.xml <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <rotate android:fromDegrees="270" android:toDegrees="270"> <shape android:innerRadiusRatio="2.55" android:shape="ring" android:thickness="15dp" android:useLevel="true"> <solid android:color="@color/main_color" /> </shape> </rotate> </item> <item android:bottom="211dp"> <shape android:innerRadiusRatio="1000" android:shape="ring" android:thickness="7dp" android:useLevel="false"> <solid android:color="@color/main_color" /> </shape> </item> <item> <rotate> <inset android:insetBottom="211dp"> <shape android:innerRadiusRatio="1000" android:shape="ring" android:thickness="7dp" android:useLevel="false"> <solid android:color="@color/main_color" /> </shape> </inset> </rotate> </item> </layer-list> 好吧,我之前搜索了很多。 我找到的唯一解决方案是 GitHub 上的库检查here 通读这段代码希望这对你有帮助 >ProgressBarActivity.java public class ProgressBarActivity extends AppCompatActivity { private TextView txtProgress; private ProgressBar progressBar; private int pStatus = 0; private Handler handler = new Handler(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_progress); txtProgress = (TextView) findViewById(R.id.txtProgress); progressBar = (ProgressBar) findViewById(R.id.progressBar); new Thread(new Runnable() { @Override public void run() { while (pStatus <= 100) { handler.post(new Runnable() { @Override public void run() { progressBar.setProgress(pStatus); txtProgress.setText(pStatus + " %"); } }); try { Thread.sleep(100); } catch (InterruptedException e) { e.printStackTrace(); } pStatus++; } } }).start(); } } > activity_progress.xml <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.placio.android.custom_progressbar_circular.MainActivity" > <RelativeLayout android:layout_width="wrap_content" android:layout_centerInParent="true" android:layout_height="wrap_content"> <ProgressBar android:id="@+id/progressBar" style="?android:attr/progressBarStyleHorizontal" android:layout_width="250dp" android:layout_height="250dp" android:layout_centerInParent="true" android:indeterminate="false" android:max="100" android:progress="0" android:progressDrawable="@drawable/progress_drawable" android:secondaryProgress="0" /> <TextView android:id="@+id/txtProgress" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/progressBar" android:layout_centerInParent="true" android:textAppearance="?android:attr/textAppearanceSmall" /> </RelativeLayout> </RelativeLayout> > progress_drawable.xml <?xml version="1.0" encoding="utf-8"?> <rotate xmlns:android="http://schemas.android.com/apk/res/android" android:fromDegrees="-90" android:pivotX="50%" android:pivotY="50%" android:toDegrees="270" > 好的,我发现做我想做的最简单的方法是在画布上绘制进度弧而不是使用 progress_drawable.xml。 这是我的代码,以防有人遇到类似问题。 class RadialProgressBar : ProgressBar { private val thickness = 28f private val halfThickness = thickness / 2 private val startAngle = 270f private var boundsF: RectF? = null private lateinit var paint: Paint constructor(context: Context?) : super(context) { init() } constructor(context: Context?, attrs: AttributeSet?) : super(context, attrs) { init() } constructor(context: Context?, attrs: AttributeSet?, defStyleAttr: Int) : super(context, attrs, defStyleAttr) { init() } private fun init() { paint = Paint() paint.isAntiAlias = true paint.style = Paint.Style.STROKE paint.strokeWidth = thickness paint.strokeCap = Paint.Cap.ROUND paint.color = ContextCompat.getColor(context, R.color.main_color) progressDrawable = null } override fun draw(canvas: Canvas?) { super.draw(canvas) if (boundsF == null) { boundsF = RectF(background.bounds) boundsF?.inset(halfThickness, halfThickness) } canvas?.drawArc(boundsF, startAngle, progress * 3.60f, false, paint) } } Вы можете использовать данный пример https://github.com/lopspower/CircularProgressBar, тут полностью описано, как можно решиту пример ваш Добавляете это в build.gradle: implementation 'com.mikhaellopez:circularprogressbar:3.1.0' XML для решения моей проблемы: <com.mikhaellopez.circularprogressbar.CircularProgressBar android:id="@+id/progress_bar_Running" android:layout_width="260dp" android:layout_height="260dp" app:cpb_background_progressbar_color="#4100A550" app:cpb_background_progressbar_width="10dp" app:cpb_progressbar_color="#00a550" app:cpb_progressbar_width="10dp" app:cpb_progress="60" app:cpb_progress_max="100" app:cpb_progress_direction="to_right" app:cpb_round_border="true" android:layout_marginLeft="70dp" android:layout_marginTop="40dp"/> Вот так выглядит у меня в программе:
如何在 XML 中定义 MaterialShapeDrawable - Android
我想在我的 Android 项目的 /res/drawable 中的 XML 文件中使用漂亮的 MaterialShapeDrawable,但是每当我尝试将其定义为 /layout/XML 中的视图时,我都会看到: 元素 com.google.andr...
在 Android 的 Textview/Button 背景中设置动画背景视图
我想实现这个按钮,灰色背景图像会在无限循环中从左向右移动。 基本上动画灰色背景从左到右倾斜。 感谢
我有一些 png 图标,我想为其创建矢量资产。 假设我想创造一颗心;我在 StackOverflow 上找到了这段代码: 我有一些 png 图标,我想为其创建矢量资产。 假设我想创造一颗心;我在 StackOverflow 上找到了这段代码: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="24dp" android:height="24dp" android:viewportWidth="24.0" android:viewportHeight="24.0"> <path android:fillColor="#FF414BB2" android:pathData="M12,21.35l-1.45,-1.32C5.4,15.36 2,12.28 2,8.5 2,5.42 4.42,3 7.5,3c1.74,0 3.41,0.81 4.5,2.09C13.09,3.81 14.76,3 16.5,3 19.58,3 22,5.42 22,8.5c0,3.78 -3.4,6.86 -8.55,11.54L12,21.35z"/> </vector> 事实是,我还有许多其他想要的图标,比如所有运动(网球、足球等)。 我怎样才能做到这一点?有没有网站或软件? 您可以使用在线图像转换器来转换格式,有很多网站可以将 png 图像转换为矢量资产, 你可以试试这个网站, convert.io 但我建议不要将 png 转换为矢量资产,而是尝试寻找新的矢量资产,因为有时它会导致数据在转换过程中丢失,从而导致图像模糊或丢失其元素。
使用jetPack Compose Image替换AnimationDrawable
我想用 Jetpack Compose API 替换我在 xml 中创建的视图。 但现在我坚持更换我的 AnimationDrawable。 我用它来制作一个“充电动画”,方法是启动一个
How to create a drawable xml from this PNG image?
我上面有这张 PNG 图片(我从 Figma 导出的)。如何使用可绘制 xml 重新创建它? 我想尝试使用图层列表,但我不确定该怎么做。 我需要使用 drawable 因为我需要...
我在查找 Android 的 XML 形状定义文档时遇到了一些问题。我想在 XML 文件中定义一个用纯色填充的简单圆圈,以将其包含在我的
如何确定 ConstraintLayout 中 ImageView 的准确图像尺寸(以 px 为单位)?
如果我有一个具有固定宽度和高度(ImageView 布局的宽度和高度)的 ImageView,那么在 mdpi folfer 中确定图像的准确尺寸(以 px 为单位)真的很容易。 对于
我正在尝试使用样式将自定义样式应用于android中的textview。但不幸的是我在运行时遇到了这个异常。 android.view.InflateException:com.m 中的二进制 XML 文件行 #59 ...
我有这样的代码:我的可画线包裹着另一个可画线(圆形)。我的可画线包裹了另一个可画线(圆形)。我怎样才能在内部的绘图中添加一个srtoke? public final class HighlightCircleDrawable extends Drawable implements ...。
Drawable RippleEffectColor Errorl
"@colorrippleEffectColor "在红色App>Res>Values>Colors.xml中出错--我已经为RippleEffectColor创建了颜色。 #F816A463 &amp;...
我想在我的圆可绘制周围画一个边框。我有这样的代码: public void draw(Canvas canvas) { myDrawable.draw(canvas); canvas.drawArc(toHighlightBounds, 0F, 360F, * useCenter= * ...。
我有一个简单的布局文件,我想在主容器的背景中使用一个可绘制的文件。
有没有办法知道3个圆是否相交于一点 : Java - Android Studio?
开始我有3个点 。A,B,C 这几个点被放置在一个网格中,这个网格实际上是一个FrameLayout中的ImageView,它们都在一个RelativeLayout中。网格实际上是一个框架布局中的ImageView,它们都在一个RelativeLayout中。
保存drawable为字符串,并将字符串转换为保存的字符串的位图?
我正试图保存主题,我的主题(图片)在drwable文件夹里。我有主题(图片)在drwable文件夹中。我正在显示图片列表,点击相同的图片,我想把选定的drawable资源保存在sharedpreferences和...