Форум для тех, кто программирует под Android
Anonymous
Рисование линии в SurfaceView
Сообщение
Anonymous » 26 дек 2024, 10:19
Когда я нажимаю кнопку и пытаюсь нарисовать желтую линию в SurfaceView, на экране появляется какой-то беспорядок.
Как я могу получить доступ к экрану телефона как можно быстрее и правильно рисовать линии, прямоугольники и другие базовые элементы фигуры на нем в приложении?
Я использую код
и
Код: Выделить всё
package com.example.myapp
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import android.graphics.Color
import android.graphics.Paint
import android.view.SurfaceView
import android.widget.Button
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val sv=findViewById(R.id.mysurfaceview)
val b=findViewById(R.id.mybutton)
b.setOnClickListener() {
val mycanvas=sv.holder.lockCanvas()
val mypaint= Paint()
mypaint.setColor(Color.YELLOW)
mypaint.isAntiAlias=true
mypaint.strokeWidth=5f
mypaint.style=Paint.Style.FILL
mycanvas.drawLine(20f,20f,450f,520f,mypaint)
sv.holder.unlockCanvasAndPost(mycanvas)
}
}
}
который создает это:
скриншот
Подробнее здесь:
https://stackoverflow.com/questions/791 ... urfaceview
1735197571
Anonymous
Когда я нажимаю кнопку и пытаюсь нарисовать желтую линию в SurfaceView, на экране появляется какой-то беспорядок. Как я могу получить доступ к экрану телефона как можно быстрее и правильно рисовать линии, прямоугольники и другие базовые элементы фигуры на нем в приложении? Я использую код [code] [/code] и [code]package com.example.myapp import android.os.Bundle import androidx.appcompat.app.AppCompatActivity import android.graphics.Color import android.graphics.Paint import android.view.SurfaceView import android.widget.Button class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) val sv=findViewById(R.id.mysurfaceview) val b=findViewById(R.id.mybutton) b.setOnClickListener() { val mycanvas=sv.holder.lockCanvas() val mypaint= Paint() mypaint.setColor(Color.YELLOW) mypaint.isAntiAlias=true mypaint.strokeWidth=5f mypaint.style=Paint.Style.FILL mycanvas.drawLine(20f,20f,450f,520f,mypaint) sv.holder.unlockCanvasAndPost(mycanvas) } } } [/code] который создает это: скриншот Подробнее здесь: [url]https://stackoverflow.com/questions/79148649/drawing-a-line-on-surfaceview[/url]