标签: shapedrawable

Android如何以编程方式创建三角形和矩形形状?

我们如何创建如下的ballon drawable形状.我们可以动态地改变它的颜色. 在此输入图像描述

android shapedrawable

52
推荐指数
4
解决办法
7万
查看次数

使用ShapedDrawable将ColorFilter应用于ImageView

我有一个ImageViewandroid:src设置为一个ShapedDrawable,即白圈.我想要的是ImageView在响应某些事件的运行时将其着色.imgView.setColorFilter似乎是解决方案,但在使用此(尝试不同的参数)后,图像变得不可见(我在屏幕上看不到它).

怎么解决这个?还有更好的方法来制作彩色圆圈吗?

android drawable android-imageview colorfilter shapedrawable

39
推荐指数
3
解决办法
7万
查看次数

形状可绘制尺寸不起作用

我有一个非常简单的形状,我想设置宽度:

<shape android:shape="rectangle">
    <solid android:color="@color/orange"/>
    <size android:width="2dp"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

但是,当我将它指定给EditText的背景时,它只显示橙色背景而不是宽度为2dp的矩形.为什么不设置尺寸?我想创建一个透明的drawable,左侧是橙色矩形.我也把它包裹在选择器中:

<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:state_focused="true">
        <shape android:shape="rectangle">
            <solid android:color="@color/orange"/>
            <size android:width="2dp" android:height="6dp"/>
        </shape>
    </item>
    <item>
        <shape android:shape="rectangle">
            <solid android:color="@android:color/transparent"/>
        </shape>
    </item>
</selector>
Run Code Online (Sandbox Code Playgroud)

我试过添加高度只是为了看它是否会改变大小.它没有.这就像它完全忽略了它的大小.WTF?

android drawable xml-layout shapedrawable

36
推荐指数
4
解决办法
6万
查看次数

渐变半径占屏幕大小的百分比

我正在尝试使用径向渐变背景创建一个可绘制的形状,半径将根据屏幕大小进行调整(请参阅相关文档).

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <gradient
        android:endColor="#000"
        android:gradientRadius="50%p"
        android:startColor="#5d2456"
        android:type="radial" />
</shape>
Run Code Online (Sandbox Code Playgroud)

但它似乎没有用.如果我删除"%p",它可以工作,但是半径将是静态的,因此不会调整到屏幕尺寸......任何想法有什么问题?

android radial-gradients android-xml shapedrawable

34
推荐指数
4
解决办法
2万
查看次数

Android虚线可绘制潜在的ICS错误

以下是虚线,在XML中定义为ShapeDrawable:

<shape
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="line">

    <size
        android:height="2dp"
        android:width="700dp" />

    <stroke
        android:width="1dp"
        android:color="@android:color/black"
        android:dashWidth="1dp"
        android:dashGap="2dp" />

</shape>
Run Code Online (Sandbox Code Playgroud)

这将在几个姜饼手机上绘制一个漂亮的虚线.然而,在Galaxy Nexus上,破折号似乎被忽略,并且形状被绘制为连续的线.更奇怪的是,运行ICS的仿真器将使用破折号正确渲染它,它只是物理设备搞砸了.

我错过了一些明显的东西吗 或者这真的是Android 4.0的错误吗?这条线在几个地方使用.以下是ImageView的示例:

<ImageView
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginLeft="@dimen/observation_observe_side_margin"
    android:layout_marginRight="@dimen/observation_observe_side_margin"
    android:layout_marginTop="16dp"
    android:contentDescription="@string/dotted_line_description"
    android:src="@drawable/dotted_line" />
Run Code Online (Sandbox Code Playgroud)

android xml-drawable shapedrawable

29
推荐指数
2
解决办法
1万
查看次数

谷歌地图API v2 Android添加形状drawable作为标记

我一直在尝试添加一个可绘制的形状作为我要在地图上添加的标记的标记图标.

形状看起来像这样(res/drawable/blue_circle.xml):

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="oval" >
    <size
        android:width="15dp"
        android:height="15dp" />
    <solid
        android:color="@color/Blue" />
</shape>
Run Code Online (Sandbox Code Playgroud)

我尝试添加这样的标记:

markerOptions.icon(BitmapDescriptorFactory.fromResource(R.drawable.blue_circle));
Run Code Online (Sandbox Code Playgroud)

显然我得到一个NullPointer异常.

标记图标必须是位图吗?我可以添加形状drawables作为标记图标吗?如果是的话,我做错了什么?

android google-maps-markers shapedrawable google-maps-android-api-2

29
推荐指数
1
解决办法
9748
查看次数

在Android上以编程方式绘制带边框(角半径)的椭圆形状

我试图用OvalShape绘制自定义ShapeDrawable,填充白色和灰色边框.我创建了一个这样的drawable:

ShapeDrawable drawable = new ShapeDrawable(new OvalShape());
drawable.getPaint().setColor(Color.GRAY);
drawable.getPaint().setStyle(Style.STROKE);
drawable.getPaint().setStrokeWidth(getPixels(5));
drawable.getPaint().setAntiAlias(true);
Run Code Online (Sandbox Code Playgroud)

但结果是:角落问题

在此输入图像描述

这个想法是以编程方式创建这样的形状,但具有不同的颜色:

<shape xmlns:android="http://schemas.android.com/apk/res/android" 
android:shape="oval">
<corners android:radius="10dip"/>
<stroke android:color="#FF0000" android:width="5dip"/>
<solid android:color="@android:color/transparent"/>
</shape>
Run Code Online (Sandbox Code Playgroud)

怎么能解决这个问题?

android shapedrawable android-drawable

29
推荐指数
2
解决办法
4万
查看次数

如何在android中为drawable添加阴影效果

在此输入图像描述我用drawable创建了聊天气泡看起来很好,现在我想在drawable下面添加阴影效果,这样就可以产生3d效果.我不想使用9-pitch图像.我只是想知道如何在这个drawable上添加阴影效果.我的代码是

---- right_bubble_chat_drawable

 <?xml version="1.0" encoding="utf-8"?>
 <shape android:shape="rectangle" xmlns:android="http://schemas.android.com/apk/res/android">
        <corners android:radius="15dp" />

        <solid android:color="@color/chatrightbubbleColor" />

        <padding
            android:bottom="10dp"
            android:left="10dp"
            android:right="10dp"
            android:top="10dp" />

        <size
            android:height="@dimen/normal_button_height"
            android:width="@dimen/normal_button_width" />
Run Code Online (Sandbox Code Playgroud)

---用于角落指针'chat_laftarraow'

  <?xml version="1.0" encoding="utf-8"?>
   <layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
    <item >
     <rotate
        android:fromDegrees="90"
        android:toDegrees="-90"
        android:pivotX="50%"
        android:pivotY="50%" >
    <rotate
        android:fromDegrees="45"
        android:toDegrees="45"
        android:pivotX="-40%"
        android:pivotY="86%" >
        <shape
            android:shape="rectangle"  >
            <stroke android:color="#00aaef" android:width="1dp"/>
            <solid
                android:color="#00aaef"  />

        </shape>
       </rotate>
       </rotate>
      </item>
    </layer-list>
Run Code Online (Sandbox Code Playgroud)

-------我正在使用它们

 <?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
   <View
    android:id="@+id/left_chatArror"
    android:layout_width="20dp"
    android:layout_height="20dp"
    android:layout_alignParentRight="true"
    android:layout_marginTop="6dp"
    android:background="@drawable/chat_laftarraow"/>

<RelativeLayout

    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:maxWidth="220dp" …
Run Code Online (Sandbox Code Playgroud)

android xml-drawable shapedrawable android-drawable

19
推荐指数
2
解决办法
5万
查看次数

如何在Java代码中创建具有实心,角点和笔划的形状?

我有一个在下面的xml文件中定义的形状,现在我想以编程方式更改为纯色.

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle" >

    <solid android:color="#DFDFE0" />

    <corners
        android:bottomLeftRadius="8dp"
        android:bottomRightRadius="8dp"
        android:topLeftRadius="8dp"
        android:topRightRadius="8dp" />

    <stroke
        android:width="3dp"
        android:color="#2E3135" />

</shape>
Run Code Online (Sandbox Code Playgroud)

我想我应该有一个扩展ShapeDrawable的类,并实现onDraw方法.谁知道怎么样?

android shapedrawable

18
推荐指数
1
解决办法
3万
查看次数

如何在XML drawable中创建一个带有两个弯曲边的矩形?

我希望矩形的左右两侧(而不是角落)是弯曲的.或者说椭圆形的顶部和底部是直的.

我怎样才能实现这样的目标?

在此输入图像描述

android drawable shapedrawable

17
推荐指数
4
解决办法
8673
查看次数