我认为可以通过将像素密度乘以所需的高度来完成,但我不知道该怎么做.
到目前为止我所拥有的(最小化):
public class Timeline extends VIEw { @OverrIDe protected voID onDraw(Canvas canvas) { //super.onDraw(canvas); int canvasWIDth = canvas.getWIDth(); this.WidgetWith = canvasWIDth; this.setBackgroundGradIEntNoVIDeo(); RectF rect = new RectF(); rect.set(0,canvasWIDth,50); //Dessin d'un rectangle de fond canvas.drawRoundRect(rect,10,this.paint); } @OverrIDe protected voID onMeasure(int wIDthMeasureSpec,int heightmeasureSpec) { // Todo auto-generated method stub //super.onMeasure(wIDthMeasureSpec,50); this.setMeasuredDimension(wIDthMeasureSpec,50); this.WidgetWith = MeasureSpec.getSize(wIDthMeasureSpec); }}
所以我想换行
this.setMeasuredDimension(wIDthMeasureSpec,50);
和
rect.set(0,50);
对像素独立的东西.
谢谢
解决方法 将您的像素值乘以getResources().getdisplayMetrics().density以使像素密度无关.如果您绘制文本,则可能需要使用scaledDensity.mdpi密度= 1,hdpi为1.5,ldpi为0.75我相信.
要完成答案,请参考以下内容:
在处理视图或图像时使用以下内容
int px = getResources().getdisplayMetrics().density * dp;
或者,在处理文本时:
int px = getResources().getdisplayMetrics().scaledDensity * sp;总结
以上是内存溢出为你收集整理的android – 如何在onDraw()方法中定义像素独立高度全部内容,希望文章能够帮你解决android – 如何在onDraw()方法中定义像素独立高度所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)