java在右侧绘制矩形
下面是从左侧0像素处绘制矩形的代码,但是如何设置从屏幕右侧0像素处绘制矩形
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 5, canvas.getHeight(), paint );
主要活动。xml
<LinearLayout
xmlns:安卓="http://schemas.安卓.com/apk/res/安卓"
xmlns:tools="http://schemas.安卓.com/tools"
安卓:orientation="vertical"
安卓:layout_width="fill_parent"
安卓:layout_height="fill_parent"
安卓:paddingLeft="@dimen/activity_horizontal_margin"
安卓:paddingRight="@dimen/activity_horizontal_margin"
安卓:paddingTop="@dimen/activity_vertical_margin"
安卓:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".MainActivity">
<TextView 安卓:text="@string/hello_world" 安卓:layout_width="wrap_content"
安卓:layout_height="wrap_content" />
<package.name.customview.Diagram
安卓:id="@+id/diagram"
安卓:layout_width="fill_parent"
安卓:layout_height="52dp" />
</LinearLayout>
图表。java
package com.apptacularapps.customview;
import 安卓.content.Context;
import 安卓.graphics.Canvas;
import 安卓.graphics.Color;
import 安卓.graphics.Paint;
import 安卓.view.View;
public class Diagram extends View {
Paint paint = new Paint();
public Diagram(Context context) {
super(context);
}
@Override
public void onDraw(Canvas canvas) {
paint.setColor(Color.RED);
canvas.drawRect(0, 0, 5, canvas.getHeight(), paint );
paint.setColor(Color.RED);
canvas.drawRect(canvas.getWidth() - 5, 0, 5, canvas.getHeight(), paint );
}
}
# 1 楼答案
创建一个新类-DrawView。爪哇
在你的图表中。java,如下更改onDraw方法
更新-要解决错误,请尝试此操作
如果您不在活动中,您可以通过WINDOW_服务获得默认显示:
而不是
更新2-解决上下文错误强>
将此行
Context context;
添加到此行Paint paint = new Paint();
下方将此行
this.context = context;
添加到此行super(context);
下方更新3-使用此代码示例
图表。爪哇
包com。案例研究。意图和过滤器; 导入android。应用程序。活动 导入android。图样颜色 导入android。操作系统。束
DrawView。爪哇