2

我有几个要展示的项目。所有项目都有标题和副标题。当我想到它与WhatsApp或中的气泡非常相似时Facebook。我猜这些是作为 9-patch-drawables 实现的。

TextView我的背景就像一个圆形和一个矩形,前面有两个s。

样本

我的方法:

  • 9-patch-drawables:我可以实现设计,但我必须支持几种背景颜色。而且图像非常不灵活。
  • drawable xml:当我创建一个drawable时,我可以定义一个椭圆或一个带角的矩形作为形状。但是形状会缩放。所以实际上左边的圆圈部分并不是真正的圆形。

现在我看看AnalogClock它确实是完美的圆形,但它继承自View代码并通过代码进行测量和绘画。

所以我假设我必须自己创建一个控件。或者还有其他方法吗?

要求是:

  • 当我改变任何一侧时,它不能倾斜,但应该缩放
  • 我必须能够在代码中更改背景颜色
  • 当然我应该能够设置文本

任何提示我如何实现这一目标?

4

1 回答 1

0

把这个Relativelayout放在你的.xml中

<RelativeLayout
    android:layout_width="220dp"
    android:layout_height="90dp"
    android:background="@drawable/custom_button" >
</RelativeLayout>

custom_button.xml - 将其添加到 res > Drawable

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"     android:shape="rectangle" > 
<corners
android:topLeftRadius="100dp"
android:topRightRadius="0dp"
android:bottomLeftRadius="100dp"
android:bottomRightRadius="0dp"
/>
<solid
android:color="#4F4F4F"
/>
<size
android:width="220dp"
android:height="90dp"
/>
</shape>
于 2015-11-27T12:58:48.867 回答