Articles of 形状

在canvas绘制的形状周围创建阴影?

创建一个形状需要哪些步骤,例如使用Canvas从头开始带阴影的矩形? 在用于绘制矩形的绘制中添加阴影层不会成功。

Android中的椭圆渐变

我知道如何设置和显示椭圆形状。 我知道如何将渐变应用于此形状。 我无法弄清楚我是如何得到一个椭圆形渐变来匹配形状。 如果你能想象,这个渐变在中间有一个半透明的白色发光,然后在边缘渐渐变为alpha零。 我需要让它以椭圆形状出现,而不仅仅是圆形渐变。 我怎样才能做到这一点?

性能方面,通常更好的是,使用图像或xml创建的形状作为可绘制的?

例如,如果列表中的每一行都有一个渐变背景,那么使用渐变图像或在xml中绘制的形状中定义该渐变会更好吗? 这两种方法之间是否存在显着的性能差异?

以编程方式更改drawable的圆角半径

我有一个在xml中定义的形状: ##this need change 我正在创建以下对象: Drawable shape = getResource().getDrawable(R.drawable.myshape); 我需要修改它的半径(或创建另一个角半径)。 如何更改半径? 如何以编程方式创建形状?

与android:drawableBottom属性结合使用时不显示的可绘制形状。

保存在res / drawable / gradient_box.xml的XML文件: (上面的形状定义取自当时的Android开发者指南。它没有错误。)。 让我们尝试将它与TextView一起使用: TextView显示就好像drawableBottom属性不在那里! 但是,将形状设置为背景可以正常工作: 将实际图像(例如a * .png)设置为android:drawableBottom也可以正常工作。 有任何想法吗?

添加CornerPathEffect时FillType.EVEN_ODD的不同行为?

我在这里尝试使用Drawable并find了一些我无法解释的东西,并希望有人可以帮助我。 为什么在Paint中添加一个CornerPathEffect似乎“打破”(?) EVEN_ODD FillType ? 更具体地说,我正在测试这个HexagonDrawable类。 这就是我得到的: 但是,如果我将一个CornerPathEffect设置为Paint ,如下所示(构造函数)…… public HexagonDrawable(int color) { paint.setColor(color); paint.setPathEffect(new CornerPathEffect(6)); // added hexagon.setFillType(Path.FillType.EVEN_ODD); } ……这就是我得到的: 圆角,是的,但没有轮廓的外观(奇数/偶数/奇数)。 有人可以解释一下原因吗?

Android:是否可以扩展xml drawable?

这是我想要做的:我有这个比例xml: 我想在这个可绘制的xml中使用它: 然后我将scale xml设置为LinearLayout的背景,但我没有看到任何内容。 我错过了什么或者不可能这样做(使用XML)?

android制作自定义布局形状

我正在尝试制作自定义ViewGroup布局形状,布局是星形或心形,三角形甚至使线条对角线。 因此,目标是为两个或更多ImageView制作拼贴视图。 有人可以给我一个图书馆或办法来做这个伎俩吗?

Android – 具有形状drawable和自定义渐变的自定义按钮

我想制作一个像这个程序的自定义按钮,也许是径向渐变。 我将视图子类化,并绘制三个形状drawable,然后绘制文本。 文本似乎偏离中心,所以我试图为文本绘制一个边界矩形,但那里没有运气。 并计划添加一个点击监听器来获取按钮之类的行为。 也许我应该是子类按钮,但是在哪里绘制我的drawables所以他们不会被按钮的文本绘制搞乱。 任何指针将不胜感激。 谢谢 Edit2:看下面的第二次尝试。 Edit3:赏金的原因是弄清楚为什么子类化drawable不起作用。 梯度不是那么重要。 edit4:在DrawableView :: OnDraw()中的getTextBounds()之前发现了drawRect。 package acme.drawables; import android.content.*; import android.content.pm.*; import android.graphics.*; import android.graphics.drawable.*; import android.graphics.drawable.shapes.*; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.*; import android.view.Menu; import android.view.View; import android.widget.*; import static java.lang.Math.*; public class MainActivity extends AppCompatActivity { DrawableView drawableView; LinearLayout row(boolean isRow1) { LinearLayout layout=new LinearLayout(this); […]

Android:如何创建3个垂直点?

例如,在Google Play中,列表中的每个项目在右上角都有一个3个垂直点,以显示popup菜单。 创建这3个点的最佳方法是什么? 十分感谢大家!