android-drawable 相关问题

在Android中,Drawable是“可以绘制的东西”的一般抽象。

如何将可绘制/图标与按钮中文本的右侧对齐?

在我的 Android 应用程序中,我希望在按钮文本的右侧立即有一个可绘制对象(或图标),但我面临一个问题,可绘制对象距离文本太远,并且 app:icon 属性...

回答 1 投票 0

模糊 CameraX 预览

我正在使用 CameraX 库为布局构建相机预览,我想模糊预览。我搜索了很多方法,但大多数都已经过时或太复杂。 现在我正在努力重新...

回答 1 投票 0

从可绘制资源中更改 png 图标颜色

我在drawable中有一个png图标。它是黑色的,背景透明。 如何在不添加其他可绘制对象的情况下更改图标颜色?

回答 7 投票 0

如何在程序中更改进度条的进度绘制

如果值接近最大值,我正在尝试更改进度条内部的颜色,基本上默认进度颜色是橙色,我想将其更改为绿色,我该如何使其工作? 功能: 公共静态...

回答 1 投票 0

使用自己的 png 文件定制可绘制对象会导致 Android 中的 OpenGLRenderer 错误

我在尝试基于自定义 bade png 文件创建自己的 Android 可绘制对象时遇到了大问题。这个问题与我几天前发布的上一个问题类似(并且尚未得到解决...

回答 1 投票 0

如何让EditText和Button有这个彩色边框?

如何让EditText带有这个边框,Button也带有这个边框。我找不到用可绘制的方法来做到这一点。我使用 ImageView 来实现这个。但我不能将 ImageView 用于 EditText。怎么才能做到这一点?

回答 1 投票 0

圆角ImageView半径与可绘制半径不匹配

我有一个自定义类,可以圆化图像的左上角和右下角,其中半径在dimens.xml 中定义为 50dp。角落看起来很整齐,但我需要不同的状态

回答 2 投票 0

更新Android Studio后VectorDrawable bug?

我将 Android Studio 更新为 Giraffe,并将我的依赖项更新为最新版本,同时也从 kapt 迁移到 ksp。从那时起我的图标表现得很奇怪。重新组合时外观会发生变化(

回答 1 投票 0

Android 中的自定义阴影背景

我正在尝试创建一个自定义的 Shadow Drawable,如下图所示 这不是一个普通的材质阴影,首先它有更大的半径,并且在所有侧面(上、下、右、左...

回答 2 投票 0

48dp 的矢量图标也有 64dp 的吗?

我有一个矢量图标,例如: 我有一个矢量图标,例如: <vector xmlns:android="http://schemas.android.com/apk/res/android" android:width="48dp" android:height="48dp" android:viewportWidth="48" android:viewportHeight="48"> <path android:pathData="....." android:fillColor="#ffffff" android:fillType="evenOdd"/> </vector> 什么有48dp。手机图标设计为 48dp x 48dp,但平板电脑图标设计为 64dp x 64dp。 如何在代码中将此矢量图标升级为 64dp x 64dp?我更喜欢 Jetpack Compose 解决方案.. 您可以像这样检查设备是移动设备还是平板电脑: 解决方案1:如果您只想保留1个资源并根据条件更改大小 val context = LocalContext.current val isTablet = isTablet(context) Icon( painterResource = painterResource(R.drawable.mobileIcon), modifier = Modifier.size(if(isTablet) 64.dp else 48.dp) ) 解决方案2:如果您想根据情况更改资源 val context = LocalContext.current val isTablet = isTablet(context) Icon( painterResource = if(isTablet) painterResource(R.drawable.tabletIcon) else painterResource(R.drawable.mobileIcon), modifier = Modifier.size(if(isTablet) 64.dp else 48.dp) ) 获得 isTablet() 功能所需的依赖项: com.google.android.gms:play-services-basement:18.2.0

回答 1 投票 0

可在android中以编程方式绘制自定义形状

我想在android studio中制作这个自定义形状的drawable。这个形状要怎么做呢?

回答 1 投票 0

如何创建圆形确定进度条?

如何创建圆形确定进度条? 像这样: 我想在 Android Studio 中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 如何创建圆形确定进度条? 像这样: 我想在Android Studio中制作一个圆形确定进度条。它看起来像这张照片。这是我的代码 <?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="false"> <solid android:color="#DDD"/> </shape> </item> <item> <rotate android:fromDegrees="270" android:toDegrees="270"> <shape android:shape="ring" android:thicknessRatio="16" android:thickness="5dp" android:useLevel="true"> <solid android:color="#f1908c"/> </shape> </rotate> </item> </layer-list> [圆形确定进度条应如下图所示] [1]: github 上有几个库。 您可以尝试这个、这个或这个。

回答 1 投票 0

如何在drawable中控制图像在形状内的位置?

在android studio中我创建了xml可绘制对象,它的矩形分为3个子矩形。 我想在第三部分插入一张图像,该图像等于总面积的 25%。 如何使插入...

回答 1 投票 0

如何更改可绘制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)); // 白色

回答 1 投票 0

如何复制 Google Play 商店中使用的卡片视图高度和宽度

有谁在 Google Play 商店中正式使用默认宽度和高度值以及文本样式吗?有趣的是,似乎有某种

回答 0 投票 0

从 res 的 Drawable 中创建位图的有效方法(BitmapFactory 与类型转换)

从资源中的 Drawable 中创建 Bitmap 的哪种方法更有效? 位图 myBitmap = BitmapFactory.decodeResource(context.getResources(), R.

回答 4 投票 0

除了 android studio 中的默认 drawable 文件夹外,还有什么方法可以访问我创建的 drawable 文件夹吗?

我正在做一个关于使用kotlin jetpack compose在android studio中输入带有国家代码的手机的项目。我想大约有 200 或 250 个国家,当然他们有照片。如果...

回答 2 投票 0

如何在 Android drawable 中为环形制作圆角

我有一个自定义进度条,如下所示: 这是我用来创建它的 .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"/> Вот так выглядит у меня в программе:

回答 5 投票 0

如何在 XML 中定义 MaterialShapeDrawable - Android

我想在我的 Android 项目的 /res/drawable 中的 XML 文件中使用漂亮的 MaterialShapeDrawable,但是每当我尝试将其定义为 /layout/XML 中的视图时,我都会看到: 元素 com.google.andr...

回答 0 投票 0

在 Android 的 Textview/Button 背景中设置动画背景视图

我想实现这个按钮,灰色背景图像会在无限循环中从左向右移动。 基本上动画灰色背景从左到右倾斜。 感谢

回答 2 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.