当前位置: 首页 > 面试题库 >

创建一个新的可绘制颜色

翁翰
2023-03-14
问题内容

我正在尝试将十六进制值转换为int,以便创建新的可绘制颜色。我不确定是否可以,但是根据文档,应该可以。它明确地要求

公共ColorDrawable(int颜色)

在API级别1中添加。创建具有指定颜色的新ColorDrawable。

参数 color 绘制的颜色。

因此,我的代码无法正常工作,因为我收到一个无效的int:“ FF6666”错误。有任何想法吗?

int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);

问题答案:

因为您在谈论十六进制,所以您必须从头开始,0x并且不要忘记不透明性。

所以基本上是: 0xFFFF6666

ColorDrawable cd = new ColorDrawable(0xFFFF6666);

您还可以在/ res中创建一个新的colors.xml文件,并定义如下颜色:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="mycolor">#FF6666</color>
</resources>

并简单地获取R.color.mycolor中定义的颜色

getResources().getColor(R.color.mycolor)


 类似资料:
  • 我正在尝试将一个十六进制值转换为一个int,这样我就可以创建一个新的彩色绘图。我不确定这是否可能,但根据文档,这是应该的。它很明显地要求

  • 我必须创建一个新的类来创建一个全新的PaintComponent()吗?或者我会简单地创建一个新的Graphics2D对象,这样我就可以使用不同的字体、颜色等等?我想最让我困惑的是我不能调用不同的draw方法,因为我仍然需要传递g2d作为参数。因此,在我看来,我需要从另一个已经有g2d对象的方法中创建线程。 如果这让我感到困惑,我很抱歉,因为我仍然是Java的初学者。如果你需要更多的信息,尽管告诉

  • 问题内容: 我遇到以下问题,我想创建自己的颜色图(红色-混合-紫色-混合-蓝色),将其映射到-2到+2之间的值,并想用它来绘制绘图中的点。然后该图应具有右侧的色标。 到目前为止,这就是我创建地图的方式。但是我不确定是否混合颜色。 这样,我将颜色映射到值。 然后我将其绘制: 我的问题是: 1.我无法绘制色标。 2.我不确定我的色标是否正在创建连续的(平滑的)色标。 问题答案: 这里有一个有关如何创建

  • 问题内容: 这是我的问题…: 在我的活动中,我有一个和一个。我希望Button仅在显示某个可绘制对象时才执行操作。是的,这意味着该代码正在各种可绘制对象之间进行动画处理,从而使其不会中断我想要完成的工作。 没用 并且我将其范围缩小到“ if(vari(drawabledrawable == acertaindrawable)”行的错误。尽管Eclipse并没有公然报告两个可绘制对象是否相同的And

  • 我有一个jobIntentService创建一个文件以便在其中添加一些文本,但我得到错误。我不知道我做错了什么...下面是我的代码: 谢谢你的帮助!

  • 我有以下最小的代码来用箭头头画一条线: 它是这样创建的: 线画得很好,但箭头头是不可见的,直到我调用repaint()。问题是,该元素是一个可拖动的元素,因此每次更改位置时,我都必须调用repaint()两次。这会使代码更加复杂,并且GUI会很落后。 为什么箭头不能直接和线画在一起呢?真的没有人能帮我吗?