参考下面的图片,我想要带有黄色背景和右边框的视图从右边滑入一些文字。所以这个要求包括:
我参考了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,但它显示在屏幕的左上角,而不是显示在下图中的位置。
我怎么能做到这一点?任何建议表示赞赏。
答案 0 :(得分:1)
您不需要任何自定义视图,您可以将shape或9patch图像设置为textview的背景,并使用object animator为该textview设置动画。 Border in shape xml