Android :: Scaling ImageButtons For Multiple Resolutions In Layout XML File?
Oct 4, 2010
I have a button which I want to occupy 75% of the screen:
On a 480x800 resolution screen this would be 360 pixels wide.
On a 280x320 resolution screen this would be 210 pixels wide.
How do I go about specifying this in my layout XML file?
I understand there is a DIP unit of measurement, but does that also work to scale screen images for resolutions? What DIP measurement would I use for this, and do the images need to be saved at 160dpi.
View 2 Replies
Dec 21, 2009
I had posted a similar thread a while back and received no feedback, so let me try to be more clear.I am able to use Androids components to build the most basic layouts, which include images, buttons, text areas, etc. These are like Android Lego! I can build the castle. BUT I want to design my own component, my own Lego, that draws on the screen and uses the available area that the Android components have not used. ie, I want to have a top layer of buttons, and the rest of the screen, whatever it is, I want to use to draw 2d graphics. So, I want to make my own Lego, and use it with the other Android Lego. However, I'm also trying to be a good developer and making this for whatever resolution is thrown my way. What is the best way to do this considering the deluge of different resolutions Android developers must cope with? Is there a way to do a table view and return the remaining screen size? Or, am I stuck making an entire new box of Lego here?
View 7 Replies
View Related
May 5, 2010
I have a written a game that works fine on the 'normal' 320x480 screen of my G1.
I tried it on a friends Xperia x10 and it leaves a large blank section on the right hand side of the screen. How do I fix this? I've read that I need to include an extra directory in res/drawable for different densities. How do I do this?
View 1 Replies
View Related
Jun 22, 2010
i have completed my app for the 320x480 size and i don't give two cents about dpi or density, but i want this to work on the larger formats to and i have new artwork for those resolutions for my entire app. Is there an elegant way to set up my xml layouts and artwork around resolution only? In other words a "normal" screen size could be 320x480 or it could also be 400x800 or 400x856 depending on the dpi.
where it specifically applies to only small normal screens with medium density?
how to i account for the 800 vs 854 height difference when clearly xml identifiers won't tell these two apart? My app does not use a lot of relative layout components as it is very heavy on the sprites which obviously have fixed 2D dimensions
View 4 Replies
View Related
Jan 23, 2009
Is it possible to build a GridView object in XML with 3 columns and 4 rows of Image buttons? It doesn't seem to have similar containment relationship like LinearLayout or RelativeLayout viewgroups.
I want to do this entirely in an xml layout file. When I put ImageButton xml tags inside a GridView xml body, The layout panel in eclipse is throwing an exception: UnsupportedOperationException:addView(View, LayoutParams) is not supported in AdapterView.
View 2 Replies
View Related
Mar 17, 2010
I'm trying to build a layout where some shapes will popup every 2 seconds. If the user will click one of these shapes, they have to disappear.
What is the correct way of doing this? I thought about a thread, but i missed out.
Here's my code at the moment (is not working):
CODE:..................
View 1 Replies
View Related
Aug 11, 2010
I want to create a multiple line editview to enter in some notes. I want the text aligned top left and 4 rows. How do I create that in layout xml file. Assume I am using a linearview.
View 1 Replies
View Related
Jun 20, 2009
Is there a way to do a linear layout with multiple lines? I want to lay out a variable set of buttons with variable labels, so I'd like to use a layout that works as a simple horizontal LinearLayout, but with multiple lines, so the buttons spill into a second (or third) line if they don't fit on the first one.
View 3 Replies
View Related
Jul 30, 2009
I want to have more than one expandable list within a layout. It appears that an expandable list in a custom layout must have an id of "@id/android:list". So, how could I have more than one if they would need to have the same id?
View 1 Replies
View Related
Nov 17, 2010
I want to display text such that it would be like:
TITLE 1.1
text about title 1.1
TITLE 1.2
text about title 1.2
TITLE 2.1
text about title 2.1
And so on
It would be a scrolling windows, but another problem is text could be lengthy and could span multiple lines. What do you recommend i should breakup my layout with. The length will be more then the screen height so i need scrollbars. Plus need to keep title bold.
Basically i would be printing this text from a String Array. Is it possible to display it directly from arrays or i can also work with simple strings but need to know how should i breakup my layout. like scrollview -> table layout or what?
View 1 Replies
View Related
Aug 31, 2010
I need to load several ImageViews into a layout. The ImageViews are used to show a rating using 'star' icons. The number of stars (i.e. the rating is determined during loading by reading a configuration file.
The ImageViews are sitting inside a RelativeLayout layout.
Currently I am using something like this:
CODE:........
My quesions are:
1) Is doing the loading dynamically (not using an xml) is the 'right' way of doing this ?
2) If it is, how do I make the stars display in a line, currently they get placed one on top of the other.
View 3 Replies
View Related
Jul 30, 2010
I am trying to populate a ViewStub with a new view depending on which ImageButton is clicked, but as I just discovered ViewStubs I am not exactly sure how this would work...
e.g. can I provide the ViewStub with different inflatedIds and within the onClick event of a Button inflate the ViewStub by calling a specific inflatedId?
View 12 Replies
View Related
Jan 12, 2010
I've been attempting to use the <include> tag in some layouts and it seems that these are of limited use because of the flat namespace of the R.id.x approach.
Suppose I have a layout (attribs and xml namespace decl omitted for clarity).
CODE:.......
Now in my java code I have a conundrum. I am not able to identify each individual instance o f the children included layouts root view. In the include tags I can replace the root id with "row1" and "row2" so I can find the individual linear layouts using findViewById
eg:
CODE:.........
However, I can't easily access the two instances of the TextView which are children of row1 and row2 because all I have to play with is the single id "text"
ie:
CODE:..........
In this case, which instance (row1.text or row2.text) does this refer to, both of them, or none?
I guess I would need to use another means of accessing the children of row1 and row2.
View 3 Replies
View Related
Sep 28, 2010
I am trying to create a table of 7 rows and 7 columns of ImageButtons - buttons with image resource added from the drawable folder. The problem is I can only see the first button and the rest go off screen. How do I scale the image or the buttons so all 49 can be viewed on screen?
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TableRow>
<ImageButton
android:id="@+id/r0c0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/frog"
android:scaleType="centerInside"....................
View 1 Replies
View Related
Nov 2, 2010
I have three image buttons which i want to aligne center vertically.
I have layout something like this:
CODE:..............
Although i have tried frame and relative but then image are overlapping each other.
View 3 Replies
View Related
Nov 11, 2010
I am trying to develop an application for which I want multiple screen support. I have read the Android article on Best practices for Multiple Screen Support. As per the article we have to follow 3 important things
1. Mention support for different screen sizes(large, medium and small) and any density in AndroidManifest.xml.
2. Place images of 3 dpi's (120, 160, 240) in 3 folders res/ldpi, res/mdpi and res/hdpi.
3. In layout's the dimension should be mentioned in "dip" units. Then Android will take care of the scaling on its own.
I have implemented all these points in my project. The images are picked up correctly from the appropriate folders. But the arrangements of the controls in not same.
e.g. I ran the app on three emulators
1. Resolution 240*320 dpi 120.
2. Resolution 240*320 dpi 160.
3. Resolution 240*320 dpi 240.
(All the emulator have same resolution but different density.)
The problem is the position of the controls is not same on all the three emulator. As per my understanding if the android:layout_marginLeft and android:layout_marginTop are mentioned in "dip" then this problem should not occur. As the density of the emulator increases the controls get placed more towards the right. Is it absolutely necessary that I provide layouts for all combination's of screen dimension and density even if the layout is same for all the devices?
Images:
https://docs.google.com/leaf?id=0By3GYC3k5AMDNzUwNjkwMWEtOGQzZC00MjQ0LWE2OTgtYjFhYzZmM2ExOGVl&hl=en&authkey=CLOEsZsI
View 1 Replies
View Related
Nov 11, 2010
I am trying to develop an app for which I want multiple screen support. I have read the Android article on Best practices for Multiple Screen Support. As per the article we have to follow 3 important things:
1. Mention support for different screen sizes (large, medium and small) and any density in AndroidManifest.xml.
2. Place images of 3 dpi's (120, 160, 240) in 3 folders res/ldpi, res/ mdpi and res/hdpi.
3. In layout's the dimension should be mentioned in "dip" units. Then Android will take care of the scaling on its own.
I have implemented all these points in my project. The images are picked up correctly from the appropriate folders. But the arrangements of the controls in not same. e.g. I ran the app on three emulators 1. Resolution 240*320 dpi 120. 2. Resolution 240*320 dpi 160. 3. Resolution 240*320 dpi 240. (All the emulator have same resolution but different density). The problem is the position of the controls is not same on all the three emulator. As per my understanding if the android:layout_marginLeft and android:layout_marginTop are mentioned in "dip" then this problem should not occur. As the density of the emulator increases the controls get placed more towards the right. Is it necessary that I provide layouts for all combinations of dimensions and density i.e. in layout-small, layout-large, layout- medium, layout-long,layout-notlong?
View 2 Replies
View Related
Jan 19, 2010
I am currently trying to make my app compliant with all screen sizes / api levels. I have this mostly working, however there is 1 issue i cannot resolve: Layouts in the "layout-hdpi" folder are used by and any phone on 1.5 (API level 3). - Which i dont want, i want API level 3 phones to use the "layout" folder. So to resolve this I added "-v4" onto the folder also, this works, the folder is no longer used by 1.5 phones. However, now the folder is also not used on API Level 6 phones, for example the droid. The droid only picks up the folder if i name the folder: "layout-hdpi-v6". (Also if i put "-v3" on a folder, the layout folder is not used by API level 4 phones) My understanding is that the -v<api level> qualifer allows you to exclude phones on an API level that is too low, so -v4 should mean that the folder will be used by all phones on API level 4 and above. I am finding a folder is only used for that specific API level. Has anybody else ran into this same issue? And does anybody know of any possible solutions?
View 3 Replies
View Related
Jan 14, 2010
My app's underlying view has bitmaps, lines, etc drawn on a canvas. I want to display images (icons) on top of this which will respond to Touch events. The number and positioning of such images will be variable depending on data in an SQLite database.
Am I correct in thinking that the way to achieve this is to have a ViewGroup to which I add first the basic view then for each icon an ImageButton object with an OnTouch listener and positioning defined by setting the margins in a RelativeLayout.LayoutParams object?
My code for each button reads as follows: This seems to work when the screen is initially drawn, and when the screen is subsequently redrawn (with new data) new buttons are added; however, the previous buttons are not removed.
I've tried calling Global.ThisApp.MyLayout.removeView with each in turn button as a parameter but Eclipse objects that a MyButton object cannot be a parameter for removeView.
How can I remove the existing buttons each time the underlying view is invalidated?
View 1 Replies
View Related
Sep 15, 2010
I have created a custom view by extending Relative Layout and it looks like this: The layout for the view:
<?xml version="1.0" encoding="utf-8"?>
<merge xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:layout_width="wrap_content"
android:layout_height="wrap_content" android:gravity="center_horizontal">
<ImageView android:id="@+id/type_picture_preview"
android:layout_width="wrap_content" android:layout_height="wrap_content"
android:src="@drawable/type_picture_noimage" android:layout_alignParentRight="true"
android:paddingTop="15dip" android:paddingRight="15dip" />
<ImageView android:id="@+id/type_picture_delete"
android:src="@drawable/type_picture_delete"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" />
</RelativeLayout>
</merge>
I am struggling to get two or more layouts on a single line.
View 2 Replies
View Related
Aug 6, 2010
I have read the Android UI trick 2 on Android developers, which tells people how to include a layout in another layout file multiple times, and give these included layouts different id. However, the sample here is overwriting the layout id, not the id of the views IN this layout. For example, if the workspace_screen.xml looks like this: And I include it three times in another layout file. Do I end up with three TextViews with id firstText, and another three with secondText? Isn't there an id collision? And how do I find the secondText TextView in the third included layout with findViewById? What should I input in the findViewById method?
View 1 Replies
View Related
May 7, 2010
Any insights/pointers regarding creating a layout like this. I have wasted quite a bit of time on this. I want to create a vertical linearlayout which has multiple ExpandableListViews separated by TextViews.
CODE:.........................
I tried the following approaches but each of them has one shortcoming or the other:
1. Add TextView and ExpandableListViews to a linearlayout. The problem with this approach is that LinearLayout by default is unscrollable.
Adding the LinearLayout to a ScrollableView creates even more issues because ListViews handle their own scrolling behavior.
2. I tried using a single ExpandableListView to model the above layout but the problem is that setGroupIndicator applies to the entire ExpandableListView, not a specific group.
View 2 Replies
View Related
Aug 19, 2010
My application will have two layouts, one for large screens and one for normal. For testing I'm working with one phone (800x480 240dpi) and one tablet (1024x600 240dpi) but both are detected as large screen hdpi and long aspect ratio, so I'm not able to assign different layouts.
The only approach I think that can work is to create layout-large and layout-normal, get the resolution and programmatically set the layout folder. Is that possible?
View 6 Replies
View Related
Jun 11, 2013
I am using a linear layout to draw a scalable background in my app. I am then defining multiple imageviews inside the linear layout, all of which are PNGs containing a transparency layer. I am wanting to overlay these transparent imageviews on top of the background. My issue is that only the first defined imageview shows on top of the background, any subsequent imageviews do not appear.
CODE: Note that imgSen1 appears properly with transparency overlaid on the background. imgSen2 does not appear. If I define imgSen2 first, and imgSen1 second, imgSen2 then appears properly, as if only the first defined imageview can be seen. I would like to have multiple imageviews with transparency overlaying the background.
<LinearLayout
android:layout_width="627dp"
android:layout_height="436dp"[code]...
View 1 Replies
View Related
Mar 20, 2012
I have a background image in linear layout and am trying to fix buttons over it at specific points,but i could not position it at specific points
View 1 Replies
View Related
May 13, 2010
I've been trying to create a Compound Control in Android 1.5 (as described here) but haven't been able to find any good examples on how to do this using an XML file to specify a layout. Create Custom Component based on LinearLayout, declaring layout in XMLI'm fine with creating an Activity and then loading an xml file using the following in the constructor:
setContentView(R.layout.main);
However, I want to do this in subclass of LinearLayout - so I can use this compound component in other XML layouts. Something along the lines of:
public class CustomView extends LinearLayout
{ public CustomView(Context context) {
super(context);
setupView();
} public CustomView(Context context, AttributeSet attrs)
{ super(context, attrs);
setupView();
} public void setupView() {
setContentView(R.layout.custom);
// Not possible } }
What is the correct way of going about doing this?
View 1 Replies
View Related
Nov 18, 2009
In my layout xml file, I have included other layout xml file (each with a different android id).But when I run it in the emulator, and start Hierarchy Viewer, each of the layout still shows 'NO_ID', and in my code, I have findViewById(R.id.test1) and findViewById(R.id.test2) both returns null.Can anyone please help me with my problem?
View 3 Replies
View Related
Mar 9, 2010
I am developing under eclipse.When I add a new .xml file under a layout and build my application,the resources are not generated for that file under R.java consequently the new layout is not recognized.How do I fix this.
View 2 Replies
View Related
Aug 21, 2009
Using eclipse 3.4.1 and also 3.5 and I cannot seem to add a new layout .xml file.I tried adding it externally using windows explorer, but got all these errors.
[2009-08-21 00:01:54 - TestAndroid] (skipping index file 'C:workspaceTestProject
esdrawableThumbs.db') [2009-08-21 00:01:54 - TestAndroid] reslayoutTest1.xml: Invalid file name: must contain only [a-z0-9_.] [2009-08-21 00:01:54 - TestAndroid] reslayoutTest1.xml: Invalid file name: must contain only [a-z0-9_.]
Then i tried right click on the layout folder, selected new Android XML file and I got this --
The selected wizard could not be started. Plug-in com.android.ide.eclipse.adt was unable to load class com.android.ide.eclipse.editors.wizards.NewXmlFileWizard. com.android.ide.eclipse.editors.wizards.NewXmlFileWizard
I tried both versions of eclipse, I tried uninstalling and reinstalling the ADT plugin. Nothing seems to be working!
View 3 Replies
View Related
Jun 10, 2009
I noticed that in Android source code, layout file, there are 2 ways to reference a resource, could someone tell me what's the difference?
android:icon="@*android:drawable/ic_menu_stop" android:icon="@android:drawable/ic_menu_recent_history"
View 2 Replies
View Related