包含内部textview的动画,颜色和边框的自定义视图

时间:2015-07-31 03:44:58

标签: android android-canvas android-custom-view

参考下面的图片,我想要带有黄色背景和右边框的视图从右边滑入一些文字。所以这个要求包括:

  • 创建自定义视图(我猜需要画布)
  • 给它宽度,高度,位置,颜色,边框,边框颜色等。
  • 动画从右侧滑动
  • 此自定义视图中的textview显示文本

我参考了this教程,了解如何在布局中使用画布包含视图。但我没有使用硬编码点位置,而是尝试了以下内容:

public MyView(Context context) {
    super(context);
        WindowManager wm = (WindowManager) DashBoardActivity.mContext
                .getSystemService(Context.WINDOW_SERVICE);
        Display display = wm.getDefaultDisplay();
        Point size = new Point();
        display.getSize(size);
        width = size.x;
        height = size.y;

        width -= 10;
        height -= 50;
        myPath = new Pt[6];
        myPath[0] = new Pt(width, height);
        myPath[1] = new Pt(width - 400, height);
        myPath[2] = new Pt(width - 500, height - 100);
        myPath[3] = new Pt(width - 400, height - 200);
        myPath[4] = new Pt(width, height - 200);
        myPath[5] = new Pt(width, height);
}

但是观点并没有按照预期定位。我尝试了不同的硬编码位置,但要么是在错误的位置显示,要么根本没有显示。

另外,为了显示文字,我在布局中添加了textview,但它显示在屏幕的左上角,而不是显示在下图中的位置。

我怎么能做到这一点?任何建议表示赞赏。

Image

1 个答案:

答案 0 :(得分:1)

您不需要任何自定义视图,您可以将shape或9patch图像设置为textview的背景,并使用object animator为该textview设置动画。 Border in shape xml