微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

您可以直接在布局中放置DrawableShape或Shape吗?

在我应用的主要活动xml文件中,

我有一个布局,带有一些ImageView ..

<LinearLayout
..>
<ImageView
    .../>
<ImageView
    ..."/>
</LinearLayout>

到目前为止没有问题.另外,我定义blob.xml只是一个大白点:

blob.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#ff0000"/>
    <size android:width="32dp" android:height="32dp"/>
</shape>

当然,我可以将blob放在“ ImageView”中,如下所示:

<LinearLayout
..>
<ImageView
    .../>
<ImageView
    ..."/>
<ImageView
    android:src="@drawable/blob"
    .../>
</LinearLayout>

太好了.我再也不会为iOS开发了!但是有没有一种方法可以直接在布局xml中直接放置“形状”?所以,像..

<LinearLayout
..>
<ImageView
    .../>
<ImageView
    ..."/>
<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#ff0000"/>
    <size android:width="32dp" android:height="32dp"/>
</shape>
</LinearLayout>

也许 …

<LinearLayout
..>
<ImageView
    .../>
<ImageView
    ..."/>
<ImageView
android:src={
   <shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval">
    <solid android:color="#ff0000"/>
    <size android:width="32dp" android:height="32dp"/>
   </shape>
   }
   >
</LinearLayout>

或类似的东西!

同样,本质上是“不使用单独的drawable /文件

这可能吗?

抱歉,很难找到此类内容,因此已在Android中进行了记录(因为大家都已经了解xml的所有知识!)谢谢!

解决方法:

不,尚无法定义内联Drawable(尚未)

无论如何,如果您感到受虐狂,则可以用Java构建一个可绘制对象,然后将其分配给您的View.
但是,在我看来,这有点过头了.

我只在强制使用此技术.

再进一步(如果您确实感到沮丧;),还有另一种技术,其中包括制作一个自定义view并重写onDraw方法以完全自己绘制它.

仅在必须构建真正新颖的东西(即某些标准视图中不可用的某些视图)(例如旋钮或量规等)时,才使用此技术.

有点痛苦,但它能带来结果.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。