Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Android studio画布获取中心_Java_Android - Fatal编程技术网

Java Android studio画布获取中心

Java Android studio画布获取中心,java,android,Java,Android,看,我对安卓系统还不熟悉,但有一些java知识 我学会了 但是如何将文本放在画布的中心,无论设备有多大,画布都是如此 我想在不改变XML的情况下在java中执行此操作。尝试以下操作: Paint text = new Paint(); text.setTextAlign(Paint.Align.CENTER); int xPosition = (canvas.getWidth() / 2); int yPosition = (int) ((canvas.getHeight() /

看,我对安卓系统还不熟悉,但有一些java知识

我学会了

但是如何将文本放在画布的中心,无论设备有多大,画布都是如此 我想在不改变XML的情况下在java中执行此操作。

尝试以下操作:

 Paint text = new Paint();
 text.setTextAlign(Paint.Align.CENTER);

 int xPosition = (canvas.getWidth() / 2);
 int yPosition = (int) ((canvas.getHeight() / 2) - ((text.descent() + text.ascent()) / 2)) ; 


 canvas.drawText("Hello World", xPosition, yPosition, text);

谢谢,但在标记解决方案之前,
((text.descent()+text.ascent())/2))
您需要找到文本的中心,这样才能得到文本的中心。如果不使用该选项,则文本相对于文本底部居中,而不是居中。