问题标签 [android-shapedrawable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
2051 浏览

android - 将动画集应用到可绘制形状

我有以下可绘制的 red_dot.xml:

和动画pulse.xml:

如何将动画应用于XML 文件中的可绘制对象,例如 red_dot_animated?如果 red_dot.xml 是一个矢量文件,以下是可能的(但它不是,因为我们有一个形状)

0 投票
1 回答
11947 浏览

android - 对于低于 23 的 API,图层列表中的可绘制形状不正确地呈现

昨天,我切换到了 Android Studio 2.1.3 版。今天,我重新打开了我的一个项目,并尝试添加一些图层列表可绘制对象以与ImageView. 比如这个:

橙色正方形上方的黄色圆圈

这是我在升级我的 Android Studio 版本之前得到的,如果我选择 23 作为“在 IDE 中渲染布局时使用的 Android 版本”,这就是我现在在预览中得到的。

但是,如果我选择 23 以下的任何版本,我只会得到正方形:

橙色正方形,没有圆形

不幸的是,在模拟器 (Lollipop 22) 或设备 (Jellybean 18) 上运行应用程序时,我只得到正方形。

以防万一这有帮助:

  • compileSdkVersion 23
  • 构建工具版本“23.0.3”
  • minSdkVersion 11
  • targetSdkVersion 23
  • buildType 调试没有任何内容
  • 依赖项:编译'com.android.support:appcompat-v7:23.0.1'
  • Activity延伸_AppCompatActivity

我认为这个问题在某种程度上与上层的, 和的top使用left有关。因为如果我只是在正方形顶部放置一个圆圈,则预览以及“真实事物”对于所有 API 级别都按预期工作。rightbottom

编辑我还使用相同的代码/ xml 和以下(自动创建)开始了一个全新的项目build.gradle

  • compileSdkVersion 24
  • 构建工具版本“24.0.2”
  • minSdkVersion 15
  • targetSdkVersion 24
  • buildType 调试没有任何内容
  • 依赖项:编译'com.android.support:appcompat-v7:24.2.0'
  • Activity延伸_AppCompatActivity

top这里的行为相同:如果我使用,和值 != 0 left,则不会为 API 级别 <= 22 渲染上层 。rightbottom


所以我的问题是:如何使用 Android Studio 2.1.3 为所有 API 级别创建“带有插图”的形状可绘制对象?

0 投票
1 回答
1638 浏览

android - 防止形状可绘制笔划的部分重叠

有什么办法可以防止stroke. shape drawable我更喜欢将笔画完全重叠在形状的边界上。

这是我的xml

颜色.xml

这就是所取得的成就
示例图像

如您所见,笔画与实体部分重叠 50%,但我希望它是 100%。

0 投票
2 回答
1441 浏览

android - 从源更改背景颜色/可绘制

我有许多使用形状可绘制对象的背景颜色的 XML,例如:

我的形状背景 xml 是:

现在我想添加一个功能,让用户可以选择更改背景颜色。有没有一种快速的方法可以根据某个值更改可绘制的源形状,而不是转到加载 xml的每个活动并更改它?

谢谢你。

0 投票
2 回答
3188 浏览

java - 剪切部分 XML 形状

我在 XML 中有一个矩形形状视图:

我想要的是把它切成两半,所以结果看起来像: 在此处输入图像描述

可能吗?如果是,我该如何实现?

笔记:

1)添加旋转的白色矩形不是解决方案。我需要保持蓝色形状的切割区域透明(它下面有更多的视图层)。

2)矩形的左下角有点圆(我忘了在上图中画出来)。

0 投票
0 回答
221 浏览

android - 自定义视图中的 ShapeDrawable 动画 alpha 属性

我在绘制一个简单的 alpha 动画时遇到了问题。下面你有一个说明问题的测试项目。

持有 ShapeDrawable 的类

}

自定义视图

活动

}

如果我不在 animateDrawable 中调用 postnvalidate() ,那么就没有动画。看到其他示例(不完整)似乎只能通过使用动画器来为形状绘制动画,无需在视图中手动调用 postInvalidate() ...

那么,我的理解是否正确,我是否需要自己使整个视图无效?如果是这样的话,整个视图会被“重绘”还是只是脏区?

谢谢

0 投票
1 回答
277 浏览

android - 在视图上动态绘制椭圆轮廓

我正在使用自定义 UI 元素突出显示。所以我需要在运行时的特定视图上绘制一个半椭圆形的形状。

例如:我必须在白色椭圆上绘制黄色半椭圆。

像这样

帮助将不胜感激。

0 投票
1 回答
1552 浏览

android - 创建直角三角形的可绘制形状

我正在尝试找出如何使用可绘制的 xml ( <shape>) 创建一个如下所示的直角三角形(但用没有黑线的颜色填充):

在此处输入图像描述

我尝试从对角线将矩形减半的角度思考,但仍然......无法找到如何实现它。

它可以使用Android drawable xml吗?

0 投票
0 回答
182 浏览

android - 使渐变在不同屏幕上看起来相同

我已经为我的应用程序的导航抽屉的标题定义了渐变可绘制对象,

side_nav_bar.xml:

但是,它仅在某些设备上看起来符合预期。在其他设备上看起来很糟糕。

第一张图片

第二张图片

第三张图片

正如您在最后一张图片中看到的那样,徽标失去了对比度......

我想将其更改为在不同屏幕上显示相同甚至几乎相同。可能梯度半径值影响最大,但我尝试了其他值,“400”似乎是最佳值。也许有可能以编程方式确定它?

0 投票
1 回答
2375 浏览

android - 如何在 Android 中获得虚线的水平进度条?

我需要设计一个虚线进度条,如附件所示。

在此处输入图像描述

这是我到目前为止所做的,它显示一个带有两种不同颜色的普通进度条,一种用于进度,另一种用于其他颜色。

bg_progress_bar_green 在这里

这就是我更新进度条的方式:

如何获得如图所示的虚线?