Android :: Drawing View On My Own SurfaceView / Canvas
Sep 9, 2010
I am using SurfaceView to draw my game on the screen of the phone. Basically now I want to be able to draw Android Views on my View, such as a Button or ListView. I am simlpy getting a Canvas and then I draw on that... does anybody know how to draw AndroidViews (Button, ListView.) on my Canvas?
View 2 Replies
Jul 19, 2010
I am drawing text in my custom view in android using canvas.drawtext. i need to change back color, and want text right aligned. for example i want to print the text in a 10, 10, 100, 20 rectangle of color yellow and text color red and right aligned. how can i do that ?
View 2 Replies
View Related
Aug 20, 2010
One using a Surfaceview, and the other using a custom view. According to the android SDK development guide, using a surface view is better because you can spawn a separate thread to handle graphics. Th SDK development guide claims that using a custom view with invalidate calls is only good for slower animations, less intense graphics.However, in my simple app, I can clearly see that using a custom view with calls to invalidate seems to render faster.What do you guys know/think about this?My touchEvent code is exactly the same, and my drawing code is exactly the same. The only difference is that one is all in the UI thread, and the other is using a tread to handle the drawing.
View 1 Replies
View Related
Oct 10, 2009
I am developing a chess game, what view should I use for the chessboard, Canvas or SurfaceView? I want to implement some animations like moving a piece, fading the chessboard or maybe rotating the chessboard.
View 4 Replies
View Related
Aug 20, 2010
When I set the background to my surfaceview, I see what I set as the background. However, I cannot draw simple things like circles when I lock/unlock the surfaceview's canvas. All I see is the background image.
View 1 Replies
View Related
Aug 2, 2009
I got this code from another post and modified it to work for me as a TextView. I tried using the code below but no transformation is happening? I trying to draw the canvas of the TextView with the given Matrix transformation.
import android.content.Context; import android.graphics.Canvas; import android.graphics.Matrix; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.TextView;
public class CTextView extends TextView { private Matrix mForward = new Matrix(); private Matrix mReverse = new Matrix(); private float[] mTemp = new float[2];
public CTextView(Context context) { super(context); mForward.postRotate(90); mForward.invert(mReverse); } public CTextView(Context context, AttributeSet attrs) { super(context, attrs);
mForward.postRotate(90); mForward.invert(mReverse); } public CTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle);
mForward.postRotate(90); mForward.invert(mReverse); }
@Override protected void dispatchDraw(Canvas canvas) { canvas.save(); canvas.concat(mForward); canvas.restore(); super.dispatchDraw(canvas); }
@Override public boolean dispatchTouchEvent(MotionEvent event) { final float[] temp = mTemp; temp[0] = event.getX(); temp[1] = event.getY();
mReverse.mapPoints(temp); event.setLocation(temp[0], temp[1]); return super.dispatchTouchEvent(event); }
View 3 Replies
View Related
Nov 4, 2010
I have two bitmap overlapped .The top bitmap is transparent and when user touch to screen i copy pixels from another bitmap to top bitmap.My goal is to give to users the feeling of erasing image with touching to see another image.However it is not working properly especially when user drags his finger too fast on the screen.I made a few tests and i beleive drawing bitmaps to the canvas every time cause the lag but i don't know how to fix it.
View 1 Replies
View Related
Sep 2, 2010
Is there a way to animate drawables on a canvas using the android built-in animation classes?
Ive been modeling my test application, a game, after the example apps lunarlander and jetboy. They contain a lot of reusable code, but they manually update the drawable objects in real time. It seems like using the android animation built ins would be so much easier since they provide the type of animation I need¦a simple linear movement.
Is there a way to do this, or am I better off updating my canvas in real time much like the example apps.
If there is a way, could anyone get me started with some sample code? I am currently inheriting SurfaceView in my class.
View 1 Replies
View Related
Sep 10, 2009
I am facing a problem. I launched a webview with some url. After url is completely loaded I try to get its content in a Canvas. But I am unable to do so. its crashing at libsgl.so
My goal is to get webview complete data in a bitmap. There is one api getDrawingCache() which gets the webview data in a bitmap format, but it gets only the visible content. I actually want the whole content in a bitmap.
If there is some another way, then how can I go about that.
Here is mine code....
View 2 Replies
View Related
Jan 16, 2010
I believe I know the basics and have successfully published a nice graphical game (Tairu). I know about inflating an xml layout and instantiating views that work.
For my current project, I really just want something similar to the Windows 'DrawText' function where it will draw a bit of a text inside an arbitrary rectangle of the surface, and do word wrap within that rectangles boundaries. That's what I really WANT, but I can't find any form of drawText that will wrap.
So, while that's what I WANT, I can accept the thought of programmatically instantiating a TextView (which wraps beautifully). But I still need to be able to provide the rectangle, which is highly dynamic. (which is why I want to call a form of drawText inside of my onDraw method). In this particular case, I have something which is static to a particular view instance (I mean, the View becomes visible, the position is set, and does not change after that. but the text position is dependent on game state and cannot be pre-determined inside an XML layout). So in this one case, I could afford the expense of runtime recalculation of the layout when the view is displayed.
OK, fine. So I do something like this:
CODE:......
Pretend you didn't see 'AbsoluteLayout' there, I am desperate and have tried all possible layout classes
main_frame is defined in my main XML layout (it is the outermost layout, fills the parent, and, as I said, I've tried all the offered layouts)
With this code, the textView appears, but along the top of the layout, and not using the width I provided either.
Adding, out of desperation.
CODE:.......
makes no difference. In fact, so far, NOTHING has made any difference. So I thought, ok, while this seems like a useful thing to be able to do, I can accept if it can't. I accept that it is impossible to provide dimensions in advance and that you have to override the measure and layout callbacks then requestLayout and in your overrides, force the final layout for the TextView.
Of course, that is completely unacceptable for my FIRST desire (a drawText that wraps to a rectangle, called from onDraw as needed). But the point is I feel something like that OUGHT to work, and it doesn't, so clearly this is MY fault.
Getting back to what I WANT, I guess I can do it myself by repeated calls to measure text and parsing the string for spaces until I get the N characters which fit on the first line, then repeat for additional lines, calling a normal drawText for each line (and using textMetrics to determine the vertical offset to the next line.)
But why wouldn't that method already exist? I promise not to fill the screen with a zillion calls, and/or to cache pre-rendered text on some bitmap somewhere if antialiased drawText is too expensive to repeat frequently.
View 7 Replies
View Related
Aug 7, 2009
When is it necessary, or better to use a SurfaceView instead of a View?
View 3 Replies
View Related
May 26, 2010
I'm having a small problem with drawing a View offscreen to a Bitmap. The View is created using LayoutInflater.inflate(int resource, ViewGroup root) with null passed to the root parameter. The View has a fixed size (200x180 pixels). I can create a Bitmap for this View either by using the method View.getDrawingCache() or by calling View.draw(Canvas canvas) using a Canvas that in turn has a backing Bitmap. This works fine if the View doesn't change after the inflate. However, if I have a TextView inside my View that I will update, the size of the TextView is never updated regardless of what method I call on the View (requestLayout(), forceLayout() invalidate() etc.). If I display the View on screen directly, everything works fine (sizes are updated as needed, etc.). What is the correct way of drawing Views off screen and being able to update their layout when needed?
View 3 Replies
View Related
Mar 31, 2009
I'm trying to create a custom widget which looks lick HTML table. I chose to derive from TableLayout, which is the subclass of ViewGroup and View. What's confusing me is that the drawing I put into my override of View.onDraw did not take effect, until I moved the codes to the override of ViewGroup.dispatchDraw. I know dispatchDraw is a good place to draw something, but I'm just wondering why there's such difference in my practice?
View 3 Replies
View Related
Mar 27, 2009
Code...
Is there a way to set the background of the SurfaceView just like a 2D view?
View 4 Replies
View Related
Jul 13, 2010
I am trying to put a background image and draw on top of that screen. I assumed activity will have a on draw method, but it does not have. it seems i need to use surfaceview. Can I put a surfaceview on top of the image view and make it transparent ? any example/tutorial i can refer to ?
View 5 Replies
View Related
May 4, 2009
Can you please tell me how does android determine when View should enable the drawing cache? I try calling in my class (which inherits form LinearLayout) Bitmap drawingCache = getDrawingCache(); I get a null in my drawingCache.
View 5 Replies
View Related
Aug 30, 2010
I'm trying to create the simplest 2D drawing program possible to isolate what exactly I can't figure out about drawing. This program should literally just draw a 20x20 rectangle. Here's what I have: Code...
View 1 Replies
View Related
Jul 6, 2010
I have a few doubts about view flipper I am using viewflipper to go to another view using scroll_left animation. i have kept 2 linearlayouts inside the ViewFlipper Code...
View 2 Replies
View Related
Sep 26, 2010
I'm trying to draw a custom border by drawing a custom view. Here is a sample of one side of the border: Code...
View 1 Replies
View Related
Jul 30, 2010
I was informed in a later answer that I have to add the GestureOverlayView I create in code to my view hierarchy, and I am not 100% how to do that. Below is the original question for completeness.
I want my game to be able to recognize gestures. I have this nice SurfaceView class that I do an onDraw to draw my sprites, and I have a thread thats running it to call the onDraw etc .
This all works great.
I am trying to add the GestureOverlayView to this and it just isn't working. Finally hacked to where it doesn't crash but this is what i have
CODE:..........
The onGesturePerformed is never called. Their example has the GestureOverlay in the xml, I am not using that, my activity is simple:
CODE:................
So I am at a bit of a loss of the missing piece of information here, it doesn't call the onGesturePerformed and the nice pretty yellow "you are drawing a gesture" never shows up.
View 1 Replies
View Related
May 12, 2010
I'm working with Android 2.1 and have the following problem:
Using the method View.getDrawingCache() always returns null. getDrawingCache() should return a Bitmap, which is the presentation of View's content.
Example code:
public void onCreate(final Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
final View view = findViewById(R.id.ImageView01);
view.setDrawingCacheEnabled(true);
view.buildDrawingCache();
final Bitmap bmp = view.getDrawingCache();
System.out.println(bmp);
}
I've already tried different ways to configure the View object for generating the drawing cache (e.g. View.setWillNotDraw(boolean) and View.setWillNotCacheDrawing(boolean)), but nothing works. What is the right way, or what I'm doing wrong? In real code I want to apply getDrawingCache() on a ViewGroup like RelativeLayout. Is the behaviour the same when using a ViewGroup?
View 2 Replies
View Related
Jun 5, 2010
I'm very new to Android programming, so this is probably something pretty basic. I just have an xml layout with a few buttons. I'm trying to follow the model given by the JetBoy demo, so I'm adding a view to the layout which extends SurfaceView. When this new view is put in my xml layout, I just get a blank screen.
Here's the XML layout if it helps. The gameview element is what causes the screen to be blank
CODE:......................
View 2 Replies
View Related
Aug 26, 2009
I have a View and that has a canvas. I am rotating the canvas, for rotating a bitmap. But after that, I need to draw one more bitmap on the Canvas and, this should not rotate. The second bitmap has to be static.
I tried with matrix rotation for bitmap. But its not rotating in the specified co-ordinates.
View 3 Replies
View Related
Mar 11, 2010
I am trying to draw an animation. To do so I have extended View and overridden the onDraw() method. What I would expect is that each time onDraw() is called the canvas would be in the state that I left it in and I could choose to clear it or just draw over parts of it (This is how it worked when I used a SurfaceView) but each time the canvas comes back already cleared. Is there a way that I can not have it cleared? Or maybe save the previous state into a Bitmap so I can just draw that Bitmap and then draw over top of it?
View 4 Replies
View Related
Mar 6, 2009
Can anyone explain me the difference between View's Canvas and Bitmaps Canvas
View 2 Replies
View Related
Sep 29, 2010
I have a view that is round and hovering above (-> in z-axis direction coming out of the screen) the main content. When the someone taps the screen I want either the main content to be selected or the view hovering above, when it covers the main view.
So far that works perfectly. I have a round shaped item on a transparent canvas. Meaning you can see everything of the background that is outside of that circle. However, you cannot select it, because it is still the hovering canvas, just with a transparent paint.
Now I'm wondering, to solve this issue, if it is possible to make the view/canvas itself round shaped?
Update
I added an image for better explanation what I try to achieve.
View 2 Replies
View Related
Sep 29, 2010
How can i draw a view on a canvas by giving the x,y position in the canvas.
For example,
I have custom view myView, which was created by inflating one of my layout.xml file.
Now i want to draw this myView on the canvas at position (x, y).
How can i do that? code...
View 1 Replies
View Related
Apr 4, 2010
I called canvas.drawBitmap to draw an image, but somehow it's showing up behind/underneath the custom view (or it's background). can someone explain this?
View 1 Replies
View Related
Mar 7, 2010
I have create a subclass of View and overwritten onDraw() - see some test code below. It draws a line consisting of some points. Before the line is drawn the canvas is rotated and restore after the drawing. The angle by which the canvas is rotated increases by 5 degrees every time onDraw() is called. The view is invalidated about once a second causing the view to be redrawn. Due to the rotated canvas the line drawn looks like a clock hand rotating counter-clockwise. This works - but not always. Sometimes the line is not drawn for one or more seconds, although I know from the log statement that onDraw() was called. Sometimes means: The line may be not shown after 8 seconds, then again after 35 seconds and so on. If the canvas is not rotated the problem does not occur. This also happens when I use a SurfaceView instead of a View. It does not only occur in the simulator but also on my G1 - both using Android 1.6.
CODE:.............
View 2 Replies
View Related
Apr 7, 2010
I have a views on the main class and many other class with an onDraw() method to draw a canvas.
Java:
CODE:.....................
View 3 Replies
View Related