- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有以下布局:
<LinearLayout
android:id="@+id/myButton"
android:layout_width="@dimen/logo_radius"
android:layout_height="match_parent"
android:background="@drawable/myShape">
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/driver_half"/>
</LinearLayout>
和以下 myShape
可绘制对象:
<selector>
<item><shape android:shape="oval">
<stroke android:color="@android:color/black" android:width="4dp"/>
<solid android:color="@android:color/white" />
</shape></item>
</selector>
我应用了以下过滤器:
myButton.getBackground().setColorFilter( orange, PorterDuff.Mode.ADD );
结果是这样的:
然后我将 myShape 更改为圆角矩形:
<selector>
<item>
<shape
android:shape="rectangle">
<corners android:bottomLeftRadius="@dimen/logo_radius" android:bottomRightRadius="2dp" android:topLeftRadius="@dimen/logo_radius" android:topRightRadius="2dp"/>
<stroke
android:width="4dp"
android:color="@android:color/black"/>
<solid android:color="@android:color/white"/>
</shape>
</item>
</selector>
结果是这样的:
左边没有应用滤镜,右边有滤镜。
我想得到的:
我应该怎么做才能使用 Porter-Duff 滤镜正确绘制橙色边框?还有其他选择吗?
最佳答案
Porter/Duff 过滤依赖于图像的 alpha channel 。要仅绘制形状边框(没有其他形状空间),您应该将形状背景从白色更改为透明:
<selector>
<item>
<shape
android:shape="rectangle">
<corners android:bottomLeftRadius="@dimen/logo_radius" android:bottomRightRadius="2dp" android:topLeftRadius="@dimen/logo_radius" android:topRightRadius="2dp"/>
<stroke
android:width="4dp"
android:color="@android:color/black"/>
<solid android:color="@android:color/transparent"/>
</shape>
</item>
</selector>
对于这种情况,正确的 PorterDuff.Mode
应该是 SRC_IN
。
但我不知道为什么椭圆形绘制正确。
更新:
with SRC_IN the border is painted orange, but the filling remains transparent...
您可以像这样将选择器更改为 layer-list
可绘制对象:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<item android:id="@+id/background">
<shape android:shape="rectangle">
<corners
android:bottomLeftRadius="32dp"
android:bottomRightRadius="2dp"
android:topLeftRadius="32dp"
android:topRightRadius="2dp" />
<solid android:color="@android:color/white" />
</shape>
</item>
<item android:id="@+id/border">
<shape android:shape="rectangle">
<corners
android:bottomLeftRadius="32dp"
android:bottomRightRadius="2dp"
android:topLeftRadius="32dp"
android:topRightRadius="2dp" />
<stroke
android:width="4dp"
android:color="@android:color/black" />
<solid android:color="@android:color/transparent" />
</shape>
</item>
</layer-list>
只为边框项设置颜色过滤器:
LayerDrawable background = LayerDrawable.class.cast(findViewById(R.id.target).getBackground());
background.findDrawableByLayerId(R.id.border).setColorFilter(Color.CYAN, PorterDuff.Mode.SRC_IN);
关于android - Porter-Duff:不同形状的不同行为?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35399637/
我在从 DEV 到 QA 进行内容移植时遇到错误。 此位置已存在标题为“Segments”的项目。给出一些建议来解决。它发生在那些启用了受众管理器的出版物中。 最佳答案 您的问题很可能与 Conten
我正在开展一个项目,在该项目中我试图计算多个语料库的屈折形态百分比,以便对它们进行比较。 我知道如何使用 nltk Porter Stemmer 来获取单词的词根,但如果我可以返回词缀而不是词根,这对
我无法找到任何有关使用不同 Porter-Duff 模式合成位图的相对性能的互联网文章或 Google 文档。在编程时对我来说变得非常明显的是,传统的 SRC/DST 前缀模式比 Android Mo
我有以下布局: 和以下 myShape 可绘制对象:
快速提问,来自 Lucene 包(Java)线程的搬运工词干是安全的吗? 我猜答案是否定的,因为您需要设置当前字符串,调用 stem 方法然后获取当前 block 以获取词干词。但也许我错过了一些东西
我有一个要转换为Android的iOS应用程序,它主要使用UITableView和其他基本的UI对象,但除此之外没有什么花哨的地方。 有几种工具声称可以将iOS自动转换为Android。 我亲自尝试了
您好 Tridion 专家, 我在使用 Content Porter SP1 导入内容时遇到了很多问题。 无法导入包含所有关键字的所有类别 导入复制的组件失败 导入结构组失败 这里是错误的详细信息 8
我将 Weka 与 SnowBall 包中提供的 porter Stemmer 结合使用。如果我在 Eclipse 中运行我的应用程序,一切正常,但是一旦我将它导出为可运行的 jar(包含所有库)we
我正在使用 PorterStemmer Python Port The Porter stemming algorithm (or ‘Porter stemmer’) is a process for
我正在尝试解决 android ColorFilters 的问题。文档很差,所以主要方法是尝试不同的变体。 问题: 有一个位图。一些像素的 alpha=255,其他像素的 alpha=0。我正在尝试绘
如何在Lucene 3.6.2中使用Porter Stembber类?这是我所拥有的: import org.apache.lucene.analysis.PorterStemmer; ... Por
我正在我的项目中导入 nltk 库,但出现以下错误。如果有人有同样的错误,请帮忙。 Traceback (most recent call last): File "/home/n
我有一个 iPhone 应用程序,它通过 CoreGraphics 混合两个 UIImage 对象来进行图像处理,特别是 CGContextSetBlendMode。我目前正在研究将其移植到 Andr
我看到下面有一个针对 C 的 porter 词干分析器实现 http://tartarus.org/martin/PorterStemmer/ 但是,尽管我已经尝试了几次,但我还是无法将它集成到我的代
关闭。这个问题需要更多 focused .它目前不接受答案。 想要改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 6 年前。 Improve this q
我正在尝试在折叠工具栏的动画期间以编程方式更改后退按钮的颜色。我希望它在展开时是全白的,并且在折叠时具有应用程序默认的后退按钮颜色,这是一种带有 alpha 的颜色(50% 时为黑色)。 我发现的所有
iOS SDK 中有Porter-Duff 合成操作吗? 基于 12 种 Porter-Duff 合成操作。 最佳答案 iOS CoreGraphics 框架支持以下类型的混合模式,包括 Porter
我有一个名为“data_stem”的 Pandas 数据框,并且有一列名为“TWEET_SENT_1”,其中包含如下字符串(50 行) TWEET_SENT_1 亲吻十字架的麦克爸爸 我喜欢那个视频
我正在导入 nltk,但出现以下错误。 Traceback (most recent call last): File "/home/control/Work/Intelligence/Datas
在这个论坛和一般的网络上有很多关于这个的问题。但我不只是明白。 这是我的代码: function updateGuideKeywords($dal) { $pattern = "/[^a-zA
我是一名优秀的程序员,十分优秀!