Android :: Programmatic UI - Setting IDs Of Some Elements
Feb 3, 2010
I need to add some parts of my UI programmatically. I'm doing this because I need to set the ids of some elements up in such a way that they can be easily access in a for loop. So far I have this xml:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/attr_row" android:layout_width="fill_parent"
android:layout_height="wrap_content"> <EditText android:id="@+id/attr_name"
android:hint="Attribute" android:layout_width="0dip" android:layout_weight="2"
android:layout_height="wrap_content" android:inputType="textPersonName" />
<EditText android:id="@+id/attr_val" android:hint="Value"
android:layout_width="0dip" android:layout_weight="3"
android:layout_height="wrap_content" android:inputType="textPersonName" />
<ImageButton android:id="@+id/drop_attr" android:layout_width="wrap_content"
android:layout_height="wrap_content" android:background="@drawable/btn_delete_states"
android:layout_gravity="center_vertical" /> </LinearLayout>
At the moment, I inflate this xml five times like so:
for (int i = 0; i<5; i++) { LinearLayout attrList = (LinearLayout) findViewById (R.id.attr_list);
LayoutInflater inflater = getLayoutInflater();
View row = inflater.inflate(R.layout.attr_row, null);
LinearLayout extraAttr = (LinearLayout) row.findViewById (R.id.attr_row);
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.FILL_PARENT, ViewGroup.LayoutParams.FILL_PARENT);
attrList.addView(extraAttr, i, params); }
The link below shows two pictures - the layout hierarchy and the result in the emulator. http://picasaweb.google.com/bengoldcross/Android?authkey=Gv1sRgCJ785I...
As can be seen, the xml is inflated five times successfully but only one is actually displayed. Inspecting the hierarchy viewer a bit more explains why. The layout being displayed is at location x=0 y=111 all the others are being rendered at x=320 y=111. It would appear they are being displayed a) off screen and b) on top of each other. So, why are they and how do I stop it from happening?
View 3 Replies
Aug 4, 2009
How can I take a screenshot programmatically? So far I've learned that:
1) DDMS does it by sending "framebuffer:" to the adb service over a socket, which takes a screenshot in framebuffer_service.c that it sends back.
2) There are some proprietary screenshot apps out there that stipulate the user must have root access, I'm not sure why.
Would it be possible for an Android app to send "framebuffer:" to its own adb service and get the screenshot that way?
View 7 Replies
View Related
Apr 1, 2010
Has anyone seen or compiled benchmarks comparing declarative (XML) versus programmatically created UI's in Android? There are things that Google has done to speed up the declarative approach, but you still do have the layout inflation step done at runtime. Have you ever switched (or considered) changing your UI from declarative to programmatic for any reason?
View 1 Replies
View Related
Sep 2, 2010
I'm looking for a programmatic way to set-up http proxy settings for android handsets. I've tried using android.provider.Settings.System.putString() to set System.HTTP_PROXY, but my call fails (I'm using a 2.2 emulator image at the moment). My code looks like:
if (System.putString(getContentResolver(), System.HTTP_PROXY, "10.10.2.1:8080")) {
tv.append("put for HTTP_PROXY succeeded. ");
} else { tv.append("put for HTTP_PROXY failed. "); }
I've also added to my android manifest:
<uses-permission android:name="android.permission.WRITE_SETTINGS" />
<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
Although it's not clear from the docs which permission, if any, is required.
I'm familiar with this SO thread, but the technique there requires manual adb commands, which require the SDK tools and (possibly) a rooted phone. Is there a way to accomplish this? Ideally, I'd like away to set an http proxy that will be used for both data and WiFi connections.
View 1 Replies
View Related
Aug 26, 2010
Been stuck on this for a while and tried a few various things.Basically I've overridden frame layout to create myself a custom button. The frame layout has two children a button and a linearlayout with items in it.The problem is I'm trying to the get the button to stretch to the size of the frame layout (i.e. fill parent) and it isn't doing.
View 1 Replies
View Related
Sep 15, 2010
I want to mount SD card programmatic, how can I check?
View 1 Replies
View Related
Mar 1, 2010
I'm wondering how programmatic sd card mounting/unmounting can be achieved while the handset is connected to a pc via USB. I cannot find any managed API for that and also my jni attempts failed with errno: 1, [Operation not permitted] error.
View 1 Replies
View Related
May 12, 2010
I wanted to know if it is even possible to either set up or modify email account settings programmatically. I do not believe it is, due to email applications controlling their own settings (and thus would depend upon a ContentProvider from that specific client), but I have not yet found a definitive "no", either.
Further, I was wondering about the email account support on Android in general. It appears that Android 2.0 and above will allow for multiple ActiveSync/Exchange accounts and mulitple IMAP/POP3 accounts, and displays these in the same inbox. Is this claim true? Also, how is this different from the other major Android releases (Android 1.5 and 1.6)?
View 1 Replies
View Related
Feb 3, 2010
Is there a programmatic way to read the system logs? i know they are stored in /dev/log.
View 4 Replies
View Related
Sep 6, 2010
I am trying to understand the main differences between registering a BroadcastReceiver in the Manifest and registering it programmatically...
My understanding is basically as follows - would appreciate someone correcting my points if I am missing something.
Registered in Manifest:
- The OS will magically find and instantiate your class if needed, calling the onReceive() method, regardless what the running state of your application was
- Your receive will only get called once per broadcast (i.e. You can consider that registering in the manifest is like registering your 'class' for receiving the broadcast - and the broadcast instantiates your class as needed) (??)
Registered Programmatically:
- registering in code means that you are registering instances of your class to receive broadcast messages (i.e. if your code is a little sloppy, and you manage to register several times, you will end up with multiple BroadcastReceiver instances all having their onReceive() called for a broadcast
- to deregister, you need to deregister the specific BroadcastReceiver instance that you previously registered
- if your application gets destroyed by the OS, your onReceive() method will not be called for a broadcast
View 1 Replies
View Related
Aug 27, 2010
I would like to implement some sort of remote assistance tool (like vnc) for Android. Is there the possibility to capture a screen programmatically on the device?
View 3 Replies
View Related
Jun 16, 2009
If a RelativeLayout must be generated at run time, what are the equivalent API calls for the attributes set in the XML Layout editor? Take for example this very simple RelativeLayout that places the second ImageView to the right of the first ImageView:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/ android"
android:layout_width="fill_parent" android:layout_height="fill_parent"
android:orientation="horizontal" android:background="@drawable/ bg_sunrise"
android:layout_gravity="center" android:gravity="center">
<ImageView android:id="@+id/ImageView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/icon"></ ImageView>
<ImageView android:id="@+id/ImageView02" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toRightOf="@id/ ImageView01" android:src="@drawable/icon"></ImageView> </RelativeLayout>
Of the many, variations I tried, I had the most hope for this one, but it didn't work either:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
RelativeLayout layout = new RelativeLayout(this);
layout.setLayoutParams( new ViewGroup.LayoutParams (
LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT ) );
ImageView imageView1 = new ImageView(this);
imageView1.setImageResource(R.drawable.icon);
imageView1.setAdjustViewBounds(true);
// set the ImageView bounds to match the Drawable's dimensions
RelativeLayout.LayoutParams params1 = new RelativeLayout.LayoutParams (LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params1.addRule(RelativeLayout.ALIGN_PARENT_TOP); layout.addView(imageView1, params1);
ImageView imageView2 = new ImageView(this); imageView2.setImageResource(R.drawable.icon);
imageView2.setAdjustViewBounds(true); // set the ImageView bounds to match the Drawable's dimensions
RelativeLayout.LayoutParams params2 = new RelativeLayout.LayoutParams
(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
params2.addRule(RelativeLayout.RIGHT_OF, imageView1.getId());
layout.addView(imageView2, params2); this.setContentView(layout); }
Can anyone offer the Java equivalent to the above XML? Can anyone explain why there is no attribute, getter/setter, or method for accessing the properties that can be set in XML? What is the most elegant solution for dynamically creating Layouts, Views, and other Resources on the Android platform when there is no Java programmatic equivalent?
View 11 Replies
View Related
Feb 28, 2010
I want to populate a table, defined in layout xml file through the programmatic way. I have define Table with a single row defining its header, with all the attributes set. Now i want to know a way so that i can just replicate that header row in the table with new content.
I tried using inflator inflate(int,view) method, but at runtime it showed up with error.
Here is the XML code for the layout file defining the table
CODE:.................
View 1 Replies
View Related
Nov 10, 2010
I'm trying to modify two TextViews in exactly the same way. I thought I can give them same id and with findViewById() and setText() methods change those TextViews in two lines. But it seems only one TextView is changed.Is there a way to do this?Or I have to make different ids for every element, get every element by findViewById() method and set it's text?
View 3 Replies
View Related
Jul 14, 2009
"android:scrollbars" are used in XML layout file to declare whether a view having scrollbar. I would like do it programmatic. according to api doc, there seems no direct peer method. Should I have to read a attr xml file? http://developer.android.com/reference/android/view/View.html
View 3 Replies
View Related
Aug 23, 2010
I could not get any inner elements during the xml parsing. looks like parser see only outer tag A. Could you show me error?
CODE:.......................
View 4 Replies
View Related
Apr 25, 2009
Just wonder what limitations there are for UI elements in AppWidgets? I tried a ListView and was met with an error. I saw the other post that EditText isn't available.Just wondering if there was a full list somewhere?
View 8 Replies
View Related
Jun 1, 2010
I'm having trouble positioning the layout elements. The AutoComplete in my TableLayout and the button after it are expanding the TableRow larger than the width of the screen. Anyone have an idea why? Below is my XML code as well as a picture of the problem...
View 1 Replies
View Related
Sep 1, 2010
In my application I change layouts very frequently with most of the user interactions. Each time when a new layout is drawn, the applications memory size is increasing. I can see this in DDMS. This is absolutely fine. I have analyzed my application with memory analyze tool and it shows that there around 42 Table layouts at some point of time and this number increase as user does more interactions with the app. Now my question is why doesn't the GC collect the stale layout objects. Does GC collect on UI widgets also??? I feel it does but can any one tell me what may be the reason for GC not collecting my UI elements.
View 4 Replies
View Related
Jun 10, 2010
Here's a quote from Android's Dev Guide: A central feature of Android is that one application can make use of elements of other applications (provided those applications permit it). For example, if your application needs to display a scrolling list of images and another application has developed a suitable scroller and made it available to others, you can call upon that scroller to do the work, rather than develop your own. Isn't it a bad practice to make an app dependent on other apps?
View 2 Replies
View Related
Oct 1, 2010
I was wandering if there was a easy way to do the following without android layout
place an image central top
place a button center center
place a button left bottom
place a button right bottom
it doesn't sound that difficult no ?
well I can't figure out a way to place the elements as I want using stupid xml layout.
View 1 Replies
View Related
Aug 5, 2010
I have a database filled with records in the following format: . What I want my application to do is select records from an external database, and display those records on the phone screen using a SurfaceView.
Currently, I have an Activity, and a Service responsible for the record-gathering portion of the application. The Activity passes an intent to the Service, and the Service responds by returning the records that need to be displayed. The records are stored in my program as instances of the Data class, and merely have the screen-coordinates of where the element should be drawn in the View (I am just drawing a circle for every record in the DB).
For the sake of brevity, I won't include the service but I will include a skeleton of the Activity class and the Data that I wish to display.
CODE:.................
The problem that I am having pertains to the SurfaceView. I realize that many people are going to suggest that I use just a regular View, but my application involves a lot of elements, so a SurfaceView would be much more suitable for my needs. Below is a skeleton of my SurfaceView class that contains a nested class to manage the threads.
CODE:............
The problem that I'm having is that once I make the initial call to the Panel class, I'm going to be getting new records from the service, and consequently, my Info Map data-structure is going to get updated. However, my Panel class just gets stuck in a loop and never receives any new Data objects. All examples of SurfaceViews I've found have involved updating them methods within the SurfaceView class itself (e.g. touching the screen and creating a new image, etc.) Sadly, I'm stumped on this particular problem. Is there a better approach for designing my Activity/SurfaceView interaction? Is an additional View required?
View 1 Replies
View Related
Mar 9, 2009
From http://d.android.com/guide/topics/ui/declaring-layout.html, it said "Instantiate layout elements at runtime. Your application can create View and ViewGroup objects (and manipulate their properties) programmatically."
Can you please tell me how/where I can find example for that?
For example, how can I convert the following layout into Java code of my MyWidget. So that when I put "<MyWidget...>" in my layout xml file, it will automatically build a Gallery inside the MyWidget? code...
View 3 Replies
View Related
Sep 2, 2009
This is probably a very "newbie" question as I'm relatively new to the android sdk, but figured this would be good place to ask.
Say you have a layout with several textviews that all have sequential IDs (ie, tBox1, tBox2, tBox3, etc).Is it possible to reference each box in a loop? Something like:
do { iCount++; View tvBox1 = findViewById(R.id.tBox[iCount]); }
View 3 Replies
View Related
Oct 13, 2010
I am trying to send a list of objects from an android mobile phone app to a j2ee webserver.
I create json objects and then put the objects into an jsonarray(in an order) and then send it. I am able to receive the jsonarray on the server, obtain the objects individually too, but the order of how I inserted the objects into the jsonarray is different compared to the order present in the received array. The order of elements plays a crucial role in my data processing. Could somebody please tell me a workaround for this.
View 1 Replies
View Related
Jun 12, 2010
There's a webpage I pull up with webview, however i'd like to hide the 1 text link at the top. Is there a way to do this? The link is in the body, so I can't hide the body element in whole.
The webpage is all text, and one tiny image at the bottom, but the text is generated each time you load it, so I can't just copy/paste the body.
View 1 Replies
View Related
Jun 27, 2010
When I have a ListActivity and an Adapter how does Android handle a list with 200 elements.
Does it try to load all of them directly how does it wait till the user scrolls and then renders those elements?
Do I have to worry with performance when a list is too long?
View 3 Replies
View Related
Jul 8, 2010
Is there any way to set my sliding drawer on top of other elements in my layout? I have an ImageView which is intended for an album art and I would like to have a sliding drawer overlay at the bottom of that ImageView.
View 1 Replies
View Related
Mar 4, 2010
Is possible to have a separator between elements of a GridView?
View 2 Replies
View Related
Feb 17, 2010
In my application by using web service i get the data from database and stored that data in hash table.I took that data from hast table to array.this array data can be displayed in button.My array contains 10 elements.For animation i used view flipper.Now i want to do is display that array elements on button one after another for every 10sec.But in Updater method i didn't get all array elements.How to solve this one
I am sending my code:.......................
View 1 Replies
View Related