TheFloyd Posted June 20, 2013 at 10:02 PM Report #514152 Posted June 20, 2013 at 10:02 PM Boa Noite, tenho já alguma experiência em java e estou a aprender a programar para android, mas tenho tido algumas dificuldades. Tenho uma activity e queria desenhar várias figuras geométricas(rectângulo, círculo e triângulo) e cada uma delas pode ser arrastada ao longo do do ecra. Tentei criar uma classe para cada figura que extendia a classe View, desenhar lá a figura e adicioná-la na classe da activity, mas isso só fazia com que uma figura aparecesse. Qual a melhor maneira para implementar aquilo que necessito?Espero não ter sido confuso. Obrigado.
Ernest Posted June 21, 2013 at 04:02 AM Report #514163 Posted June 21, 2013 at 04:02 AM Bom dia, Primeiro : desenhar , "draw" The Canvas class holds the "draw" calls. To draw something, you need 4 basic components: A Bitmap to hold the pixels, a Canvas to host the draw calls (writing into the bitmap), a drawing primitive (e.g. Rect, Path, text, Bitmap), and a paint (to describe the colors and styles for the drawing). http://developer.android.com/reference/android/graphics/Canvas.html Segundo : arrastar, "Drag and Drop", "DnD" http://developer.android.com/guide/topics/ui/drag-drop.html Para arrastar as figuras geométricas desenhadas tem que passar do modo "draw" ao modo "Drag and Drop" e delimitar cada uma das figuras geométricas selecionadas como seja capaz de ser "Draggable". A problemática é delimitar o objeto para ser arrastado e definir seu formato na zona para desenhar. O mais simples é ter duas zonas uma paleta de figuras geométricas (componentes gráficos) e arrastar para a zona de desenho os componentes gráficos para fabricar um desenho mais complexo a partir das figuras geométricas. Assim como o que faz um monte de software de design. É importante especificar exatamente o que queremos obter no campo das possibilidades. Uma vez que, em qualquer caso (no campo das possibilidades), a solução já existe! E, em geral, são muito poucas as soluções, no campo das melhores práticas. Cordialmente Ernest Duarte
TheFloyd Posted July 18, 2013 at 07:01 PM Author Report #519263 Posted July 18, 2013 at 07:01 PM Desculpe nunca mais ter respondido, mas os exames da faculdade ocuparam-me por completo o tempo. Consegui "desenhar" as figuras através de Bitmaps e definindo imagens das figuras como fundo,no entanto para implementar o Drag and Drop necessito de associar cada Bitmap a uma ImageView através de view.SetImageBitmap(bitmap) em vez de desenhar directamente usando canvas.drawBitmap(bitmap), mas as figuras não aparecem. obrigado.
Ernest Posted July 19, 2013 at 04:39 AM Report #519305 Posted July 19, 2013 at 04:39 AM Bom dia, ? "Tenho uma activity e queria desenhar várias figuras geométricas(rectângulo, círculo e triângulo) e cada uma delas pode ser arrastada ao longo do do ecrã." ? Não é fácil de fazer a expressão de requisitos que seja clara, precisa e concisa ? Expressar claramente e com rigor a expressão das necessidades não é fácil ? O que é bem concebido se expressa claramente, e as palavras para dizê-lo vem facilmente. [ Nicolas Boileau , Paris, 1636-1711 ] Primeiro procure saber o que você pode arrastar / soltar (drag & drop) ? Resposta : "dados" por isso tem que definir o tipo de objetos (dados) para serem arrastados Segundo transforme as figuras no formato adequado para ser arrastado e também delimite a zona da imagem a ser arrastada ? Resposta : desenhar e arrastar são operações diferentes, então como você vai distinguir os dois se você desenhar e arrastar com o mesmo dedo ? Terceiro saiba de que View para qual outra View você quer arrastar ? Resposta: ...ao longo do ecrã ? ... é muito claro mesmo ... Nestes links tem a resposta a seu problema uma vez que expressar claramente e com rigor o que quer exatamente e o algoritmo do programa. O arrastar / soltar (drag & drop) permite mover dados de uma View para outra View no layout atual. http://developer.android.com/guide/topics/ui/drag-drop.html Pode desenhar num Canvas, View ou SurfaceView http://developer.android.com/guide/topics/graphics/2d-graphics.html Cordialmente Ernest Duarte 1 Report
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now