我一直在尝试创建一个在文本下具有模糊形状的自定义视图。问题是BlurMaskFilter对我在画布上绘制的任何形状都没有影响。这是我如何在构造函数中初始化Paint对象:
paint = new Paint(0);
paint.setColor(0xffffffff);
paint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL));
mShadowPaint = new Paint(0);
mShadowPaint.setColor(0xff333333);
mShadowPaint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.NORMAL));
我在onDraw()中调用这样的函数:
canvas.drawOval(mShadowBounds,mShadowPaint);
canvas.drawText("hello", x, y, paint);
但这就是我看到的。
使用android 4.0 sdk并在4.0.4 galaxy nexus设备(UK)上进行测试。我想知道这是否是4.0.4中的一个错误,因为我确实在4.0和4.0.3的模拟器上测试了它,并且它确实在它们上非常模糊,除非我做了完全错误的事情?
编辑:这是在其他平台上测试它的扩展视图代码。
import android.content.Context;
import android.graphics.BlurMaskFilter;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.graphics.RectF;
import android.util.AttributeSet;
import android.view.View;
public class BlurTestView extends View{
private Paint paint;
private Paint mShadowPaint;
private int size = 100;
private RectF mShadowBounds = new RectF();
public BlurTestView(Context context) {
this(context, null, 0);
}
public BlurTestView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public BlurTestView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
paint = new Paint(0);
paint.setColor(0xff333333);
paint.setTextSize(size);
paint.setMaskFilter(new BlurMaskFilter(8, BlurMaskFilter.Blur.NORMAL));
mShadowPaint = new Paint(0);
mShadowPaint.setColor(0xff333333);
mShadowPaint.setMaskFilter(new BlurMaskFilter(10, BlurMaskFilter.Blur.NORMAL));
mShadowBounds.top = size;
mShadowBounds.bottom = mShadowBounds.top+(size /2);
mShadowBounds.left = 0;
mShadowBounds.right = (int)paint.measureText("hello");
}
@Override
public void onDraw(Canvas canvas)
{
canvas.drawOval(mShadowBounds,mShadowPaint);
canvas.drawText("hello", 0, size, paint);
}
}
在向路径添加过滤器时,我遇到了同样的问题。我注意到将目标设置为13或更低可以让过滤器工作。14岁以上的人没有。
android:targetSdkVersion="13"
如果您不能在活动中禁用硬件加速(例如,它使用需要硬件加速的TextureView),您可以使用第一个参数LAYER_TYPE_SOFTWARE和第二个参数null调用setLayerType。
喜欢这个
public class BlurTestView extends View {
public BlurTestView(Context context) {
this(context, null, 0);
}
public BlurTestView(Context context, AttributeSet attrs) {
this(context, attrs, 0);
}
public BlurTestView(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
// Disable hardware acceleration for this view
setLayerType(View.LAYER_TYPE_SOFTWARE, null);
// Perform other initialisation
}
// Other methods and so on...
}
有关遮罩过滤器、效果和着色器的更多信息,请参见此处。
对我来说看起来像一个错误。我向Android团队报告了它;我们会看看他们怎么说。
如果您在< code>AndroidManifest.xml中的Activity上设置< code > Android:hardware accelerated = " false " ,它会正确呈现。
以下是Android图形团队的官方说法:“BlurMaskFilter不支持硬件加速。(截至2012年7月10日)
CSS3 文本效果是这样一个术语用来在正常的文本中实现一些额外的特性。 主要是两个属性的 CSS3 文本效果,如下: text-shadow word-wrap 注意:Internet Explorer 10, Firefox,Chrome, Safari, 和 Opera支持text-shadow 属性。所有的主流浏览器支持自动换行(word-wrap)属性。Internet Explorer
以下将与结合使用可完全删除 x 轴标签。我假设指定的中断在 ggplot 对象中并不真正存在,随后根本没有显示任何中断。 这是由< code>coord_sf()从EPSG 32717自动转换到EPSG 4326引起的吗?
数字效果 数字效果生成不同格式的随机数或序数,例如小数、日期和时间码,甚至是当前日期和时间(在渲染时)。您可以使用数字效果来创建各种各样的计数器。序数的最大偏移是 30,000。 此效果适用于 8-bpc 颜色。 下列选项和值在“字体样式”对话框中提供:“字体”、“样式”、“方向”和“对齐方式”。要再次打开此对话框,请单击“效果控件”面板中效果项顶端的“选项”。 类型 记数法: 数字 十进制数。
#textshadow { text-shadow: 5px 5px 5px #FF0000; font-size:30px; } #wordwrap { width:11em; border:1px solid #000000; word-wrap:break-word; } #normal { width:11em; border:1px solid #000000; word-wrap:no
除了使用CSS或javascript之外,有没有更本机的解决方案使用Phonegap来创建iOS7模糊效果? 我以前从未使用过Phonegap,我的应用程序需要模糊效果,我正在尝试使用我的网络技能创建此应用程序,或者雇佣本地开发人员。 谢谢大家!
问题内容: 如果我 在控制台上,我将光标移到行首,最后是 我有 输入。 但是在Eclipse控制台上,我得到了 就像对待CR / LF一样。 我该如何设置? 问题答案: 正如Nishant在评论中指出的那样, 您在 这里 发现了一个错误 。 此错误最初是在2004年报告的 ( > 9年前!?!!),_并且似乎 没有 (或永远) 不会得到修复 。我已经在多个Eclipse版本(甚至是 _Eclips