Android :: Drawing GL Object Proportional To Screen?
Nov 15, 2010
How to draw, say, a rectangle on the screen with it being proportional to the current device?
e.g. a rectangle, centered on the viewport, one pixel smaller than the screen on each border.
I can live with Orthogonal, but would like perspective (basically everything at Z=something should be proportional to the screen, and the upper parts of the elements being distorted by perspective)
I can calculate everything on my own if i know the relation... but i don't have a starting point.
I could experiment and get to a relation myself... i even resorted to that while coding for the Wii, but that's a really bad decision on Android and all the screen ratios/sizes out there...
View 1 Replies
Nov 5, 2010
Ii haven't made any big changes to my Desire and all was working well. suddenly a couple of days ago i noticed that things slowed down significantly.
exmples: when drawing the unlock screen, there is a big lag till the home screen comes up huge lag in opening programmes or menus
so, the only app i recently installed was the BA (british airways) android app. could this have affected the whole phone?
what steps can i take to check what might be wrong?looking at the SPARE PARTS app, i can see that CPU usage shows a huge bar for "init".i don't know if this is a normal process? anyone got info on this? might have nothing to do with my phone lagging of course.
View 1 Replies
View Related
Jan 7, 2010
I wrote a reading software. I implemented the page turning effect when user tap the screen to turn to next/pre page. The display is ok on G1 (320X200 size) but it can not works well on Droid(480*854 size), the font looks a litter fuzzy, not clear as G1. I explain my codes for page turning:
1) create a canvas A
2) create bitmap.
3) set bitmap on canvas A
4) draw the new page content on canvas A
5) the current showing page has been saved in bitmap before since we do from step 1) to setp 4),
6) In order to implement the turning effect of scrolling from left to right, I draw the old bitmap part and draw the new bitmap part until the whole new bitmap has been drawn. all of bitmaps are drawing by canvas.drawBitmap() in onDraw() function.
7) when step 6) is done, it means the new page has been shown on screen, and the bitmap has been saved to use in next page turning.
The above is the whole actions for my page turning. On G1, no problem. But on Droid phone, the font is not clear, I tried if I directly draw text by canvas in OnDraw() not through bitmap, It is ok, but it can not implement the page turning effect that I need. I don't know why, could you please help me to take a look and tell me where is wrong or miss some steps?
View 2 Replies
View Related
Apr 25, 2010
I have a game built for 480x320 screen resolution. When playing the game on a phone with a higher screen resolution (480 x 800 or 480 x 856) the game automatically stretches to fit the screen which works great. Because of different screen dimensions there is a piece of the screen on the right side (game is in landscape mode) that is black, not used by the game. I want to fill this up with an image, so the whole screen is filled. I only draw that image on screens bigger than 480x320. This all works fine, the image is displayed exactly the way I want to. The only problem is that the game runs less smooth then it used to run. There are small stutters noticeable. When I just draw a rectangle instead of an image the same problem occurs. Does anyone have an idea why this is happening?
View 8 Replies
View Related
Jun 29, 2010
I want to create a full-screen page that looks like this:
---------------------------------------
| -------- --------------------------- |
|| || TextView ||
|| | --------------------------- |
|| Image | ----------------- -------- |
|| View || || ||
|| || TextView || ||
|| || || Image ||
|| || || View ||
| -------- ----------------- | ||
| --------------------------- | ||
|| TextView || ||
| --------------------------- -------- |
---------------------------------------
where each ImageView takes up at most 20% of the parent layout's width.
Primary question: Really...what is the best way to do this? After hours of searching, the best idea I can come up with is to get the screen's width and simply set the views' widths to be a max of 20% of that. However, this intuitively does not seem like a best-practice solution. (Eg. if the application wasn't running in full screen, this solution wouldn't work.) A LinearLayout won't work with the way the page is laid out (appears I have to use a RelativeLayout). And I think it would be preferable to set the views' widths based on the parent view's width (as opposed to the screen's width), but I'm not clear on how to do that either, because at the time that I'm trying to set up the widths of my children views, parentView.getWidth() returns 0. Does anyone have any good, clean solutions for how to create a page as shown above?
Secondary question: Does anyone know how to wrap text around images as shown above? After still more hours of searching, I couldn't find a solution for this; seems like you need to stitch together a couple of TextViews. Is there a better way that I'm missing?
View 4 Replies
View Related
Aug 8, 2010
I'm trying create a scaling layout for an Android application. The whole screen should contain two areas. The top 3/4 of the screen should be a MapView showing a certain area. The remaining quarter of the screen should contain some textual information to certain places shown on the map.
So now I'm wondering what is the best practice to archive this layout the 3:1 ratio of the screen partition? Is there a way to set this ratio in the layout xml file or do I have to calculate and set it manually by code in the corresponding activity?
View 2 Replies
View Related
Sep 3, 2009
My application required to draw image on full screen. now the phone screen size will be different. So will i have to make different image for each phone or i can use just one image and it can display on full screen in any device.
View 2 Replies
View Related
Jun 27, 2010
Can somebody take me step-by-step how to draw 2D stuff over a 3D scene (such as controls, etc.). What I've been doing so far has not been working (it only draws the 3D scene), which is (in every frame): draw the 3D scene as normal, projection matrix mode, load identity, call GLU.gluOrtho2D(gl, 0, myScreenWidthInPixels, 0, myScreenHeightInPixels), switch the array pointers (vertices and texture coords) to the ones for my 2D stuff, then drawElements with an appropriate index list. (then switch the array pointers back so the 3D stuff works again).I get nothing added to the screen (just the 3D stuff).Do I need to be doing something else for it to draw? Can somebody take me step-by-step?
View 5 Replies
View Related
Nov 16, 2009
I have been playing with Android for a couple of months, so I'm still kindof newbie on this. I've looking for previous questions like mine, but I was unable to find any proper solution. So here goes my question:
I'm trying to draw a Camera Preview in a certain part of the screen (for instance, square upper-left). So what I suppose I should do is the following:
CODE:.............
And on the Preview Class I have the following lines:
CODE:....................
View 2 Replies
View Related
Sep 17, 2010
Is there off screen drawing possible in android like a imageContext in objective C. if it is kindly tell me the link or some kind of hint.
View 2 Replies
View Related
Jun 2, 2010
I have a horizontal LinearLayout and in it I have EditText and Spinner elements. Which attributes I need to adjust so I would get proportional widths: I want EditText to take 3/5 and Spinner - 2/5 of all available width?
My code looks like this:
CODE:.....................
I tried setting android:layout_weight, but somehow it does not look "stable" enough for me - when EditText has no text - everything looks fine, but as soon as I start entering text into it - it starts expanding and Spinner shrinking accordingly...
View 2 Replies
View Related
Sep 16, 2009
I want to make a tile based game for android. At the moment I am drawing each tile as a separate bitmap. I have a big for loop that reads from a string and draws different tiles depending on what character it finds to draw the level. I have allowed the user to scroll the screen using scrolling gestures. However the game is too slow. It takes a long time to update the screen after the user scrolls. I presume this is because it has to draw each tile's bitmap individually. What would be a faster way to draw the level? I was thinking I could merge all the tiles into one bitmap. But I don't know how to do this.
Anyway here is my code so you can see the problem:
package org.example.tutorial2d;
import android.app.Activity;
import android.os.Bundle;
import android.view.GestureDetector;
import android.view.MotionEvent;
import android.view.GestureDetector.OnGestureListener;
import org.example.tutorial2d.Panel;
public class Tutorial2D extends Activity implements OnGestureListener {
GestureDetector gestureScanner; Panel main;
/** Called when the activity is first created. */
@Override public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
gestureScanner = new GestureDetector(this);
//requestWindowFeature(Window.FEATURE_NO_TITLE);
main = new Panel(this); setContentView(main); }
@Override public boolean onTouchEvent(MotionEvent me) {
return gestureScanner.onTouchEvent(me); }
@Override public boolean onScroll(MotionEvent e1, MotionEvent e2, float distanceX, float distanceY) {
main.handleScroll(distanceX,distanceY); return true; }
@Override public boolean onDown(MotionEvent e) { return true;
} @Override public boolean onFling(MotionEvent e1, MotionEvent e2, float velocityX, float velocityY) { return true;
} @Override public void onLongPress(MotionEvent e){
} @Override public void onShowPress(MotionEvent e) {
} @Override public boolean onSingleTapUp(MotionEvent e) { return true; } }
And the class that does all the work:
package org.example.tutorial2d;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.util.Log;
import android.view.View;
import org.example.tutorial2d.Point;
public class Panel extends View {
private int scrollX = 0; private int scrollY = 0;
public Panel(Context context) { super(context);
} @Override public void onDraw(Canvas canvas) {
/*Bitmap scratch; //Drawable scratch;
//scratch = getContext().getResources().getDrawable(
// R.drawable.icon); canvas.drawColor(Color.BLACK);
//scratch.draw(canvas); int origin = 0;
scratch = BitmapFactory.decodeResource(getResources(), R.drawable.horizontal5);
canvas.drawBitmap(scratch, origin, origin, null);
int width = scratch.getWidth(); int height = scratch.getHeight();
scratch = BitmapFactory.decodeResource(getResources(), R.drawable.room4entrynesw3x3);
canvas.drawBitmap(scratch, origin + width, origin - 32, null);
[Code]
View 3 Replies
View Related
Nov 10, 2010
I'm developing an Android application. I'm very new on it. I have the following classes:
class CustomGLSurfaceView extends GLSurfaceView
class CustomRenderer implements GLSurfaceView.Renderer
CustomGLSurfaceView uses CustomRenderer to render a cube on onDrawFrame method.
I've added an onTouchEvent(MotionEvent event) on CustomGLSurfaceView to manage touch events:
class CustomGLSurfaceView extends GLSurfaceView {
// For touch inputs - previous touch (x, y)
private float previousX; private float previousY;
private CustomRenderer myRenderer; public CustomGLSurfaceView(Context context) {
super(context); myRenderer = new CustomRenderer(); setRenderer(myRenderer);
} @Override public boolean onTouchEvent(MotionEvent event) {
float currentX = event.getX(); float currentY = event.getY();
switch (event.getAction()) { case MotionEvent.ACTION_MOVE:
myRenderer.handleMovement(currentY, currentY, previousX, previousY);
} // Save current x, y
previousX = currentX; previousY = currentY;
return true; // Event handled } }
May I have to modify onDrawFrame to draw something new or to rotate the cube? I thing I must do it on handleMovement.
View 1 Replies
View Related
Sep 9, 2009
I want to do some automated testcase with Instrumentation . Suggest that my AUT has 2 Activity. After clicking the button in ther first Activity, the second one will be shown with new content base on what we enter in the first Activity.) Instrumentation provides us the function called startActivitySync() and return the Activity object for processing. My question is how we can get the pointer of the second Activity after the it is shown by clicking the button on the first activity.?
View 2 Replies
View Related
Jun 8, 2009
I would like to convert a Picture object to Bitmap object in memory, without writing data to disk.
View 2 Replies
View Related
Oct 11, 2010
I have a GridView displaying buttons to different screens of my app. When this grid screen, the first cell is selected. Is there a way to programmatically have no cells selected when the screen launches? Or do I have to hide the selector?
View 1 Replies
View Related
Sep 21, 2009
I have an Activity that running on system. I can get the Intent that is used to start the activity. But i don't know how to get the Activity object from the Intent object or something else. Can anyone tell me how to do this??? Note that, I don't use Instrumentation object.
View 11 Replies
View Related
Nov 4, 2009
I was watching a video on Android 2.0 (from the Google Conference, I believe) and the presenter show a feature that allowed you to pull up your contact list and simply start "drawing" the letters of the contact you are looking for and it will jump right to it, rather than having to scroll down. For example you would draw "e" then "r" and it would jump right to Eric.
I haven't seen this discussed anywhere else when testing the phone, so I thought either this feature didn't make it or it needs to be enabled or something.
Anyone else seen or know anything about this?
View 5 Replies
View Related
Feb 18, 2009
I am trying to get a FileInputStream object on an image that the user selects from the picture gallery.
This is the android URI returned by android.provider.MediaStore.Images.Media.INTERNAL_CONTENT_URI content://media/external/images/media/3
When I try to construct a java URI object from this object, I get an IllegalArgumentException with the exception description Expected file scheme in URI: content://media/external/images/media/3 whereas the android URI shows the scheme as content
Never found a solution for the original question. But if you want the byte stream of an image in the pictures gallery, this piece of code will do that.
CODE:...................
View 4 Replies
View Related
Jul 21, 2010
What is your best drawing app?
I've tried Draw!, Draw(er), and MagicMarker, but I dunno, they each have their pros and cons and can't find one that suits me well. I'm not looking for Photoshop on my phone, but something better than a colored line. So what is your best drawing app?
View 3 Replies
View Related
Nov 5, 2010
This is more of a question about animating than a specific problem coding. i need to fill in the broad strokes left by the research i've been doing.
What i'm trying to do:
The activity should load with only the a togglebutton visible. when the button is touched, a png will be animated to a certain position relative to the togglebutton. also, another button will slide in from off screen and slide off if/when the togglebutton is pressed again.
What i can't figure out:
I can draw an image, but only via xml. creating an imageview and setting the background programmatically does nothing.
When i draw from xml, i can't move the image when the togglebutton is pressed like i want to. when i call getPositionOnScreen() i get a null pointer, even though the complier can see i'm referring to the imageview described in both xml and in code.
I'm calling getPositionOnScreen because via xml, i have the image positioned behind the togglebutton so that it's not visible until the button has been pressed and the image starts moving. the idea is that with different screen sizes i won't know exactly where the view is until runtime. getPostionOnScreen allows me to get the coordinates of the imageview so i know where it has been positioned. when i have a start position, can tell it to "move up" on the screen from behind the togglebutton by simply adding to x or y until it's where i want.
This is the code to draw the image (inserted in the onCreate method).
CODE:.......
This is the code i'm using to animate. when the button is clicked, it calls this method on the view from the listener.
CODE:...............
I'm well aware that this is horribly wrong and won't work. what i need to understand is why.
View 1 Replies
View Related
Apr 18, 2010
I'm trying to learn about Android programming by rewriting a C app I've moved from DOS to X-windows to Windows as a learning tool. It's just a silly little app that draws symmetrical 'game of life' patterns on the screen in a kaleidoscopic fashion. It's structured so that the patterns do their own animations. I.e. there's a 'Life' class that produces the next generation and redraws itself from the center outward, inserting delays to produce a kaleidoscopic effect.
I've got it so that the patterns draw - I took the LunarLander sample as a starting point, and an drawing on a SurfaceView. But my problem is with timing the 'animations'. I'm not doing traditional animation, where I build a whole frame and then draw it, but the surface seems to want to draw itself completely on each iteration of my loop, so my inserted sleep's don't insert delay in the right places.
So my questions:
1. Is there a more direct way to write to the screen than via a SurfaceView? If I did that, would the various steps of my 'animation' occur as I drew them, producing the desired effect. 2. If such a drawing method exists, would I be wasting my time learning how to use it? 3. What's the 'standard' way to do this kind of animation?
View 3 Replies
View Related
Oct 8, 2010
Is there any api for drawing financial chart in android.
View 2 Replies
View Related
Oct 29, 2010
Trying to draw a circle at a longitude/latitude position. The circle below doesn't show up, does anybody know why?
View 5 Replies
View Related
Mar 16, 2010
I have to recommend just getting a book on the subject.I learned most everything off of examples and documents on the web.After several months, I finally picked up the blue book and everything I had scoured to find is clearly demonstrated in it.Look for the red book and the blue "superbible."They cover everything you need.There are also books specific to ES.Make sure to get a good 1.1 one and not a 2.0-only one.
View 7 Replies
View Related
Jun 17, 2009
From the JavaDoc, it said it returns 'a bitmap representing this view or null if cache is disabled'. My question is what if the View is longer than the phone screen (you need to scroll vertically), what does the bitmap return? * only the visible portion of the view * everything the view has (both visible + invisible part)
View 4 Replies
View Related
Aug 10, 2010
Using OpenGL ES, how do I draw an image from the resources file onto the screen? The image is in png format, if that matters.
View 3 Replies
View Related
Nov 29, 2009
I'm trying to create on of these images, but Eclipse won't accept it once I've used the draw9patch tool. I've found other people having the same problem, and saw this comment: I discovered later that the problem I was having was caused by the image not being exactly true to the nine-patch spec as defined in the documentation. Once I fixed the image to have a clean (i.e., no gradients etc) one pixel border it was fine. "'m not much good when it comes to image design. What does this mean, how do I create my original png file to meet the specification for Nine Patch?
View 2 Replies
View Related
Aug 14, 2010
I am creating a custom view which has an image. The image can be of any type. What i want to achieve is that i want to draw an EditText control on top of the image so that the user can add some values to it. I am not sure how to achieve this. The onDraw control will not allow me to draw any view right? I am new to android so any help would be appreaciated.
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