Android :: How Set Button's Layout Width At Runtime?
Oct 15, 2010
i' making a remote-app, so i need a varying number of buttons, grouped by tableviews and tablerows.i can create the fix ones (that must alwasy be available) at designtime via xml, making use of the layouts making all buttons fit on every resolution.but there are buttons i have to create at runtime.to make them behave the same way as the fixed ones, i need to assign the layout width, -height and -weight values.i was searching the whole documentation, but there it's alwas done in xml, no word about runtime / matching routines.
I have a complex dialog-layout that has to be customized for small screens to decrease its height on such devices. This can easily be achieved by decreasing the height of several single Buttons and Textfields in the layout, each by a small amount. Of course much of the layout still stays the same, so I figured I could use the <include/>-tag. This was the idea:
/res/layout/dialog_layout.xml ==> includes "@layout/include_button_layout" /res/layout/include_button_layout.xml /res/layout-small/include_button_layout.xml
I figured that android would choose which button-layout to include at runtime. I couldn't get it to run, so I guess I was wrong. And if so, can anyone confirm whether this is the way to do it?
/res/layout/dialog_layout.xml ==> includes "@layout/include_above_buttons" ==> includes "@layout/include_button_layout_default" ==> includes "@layout/include_below_buttons" /res/layout/include_above_buttons.xml /res/layout/include_below_buttons.xml /res/layout/include_button_layout_default.xml /res/layout/include_button_layout_small.xml /res/layout-small/dialog_layout.xml ==> includes "@layout/include_above_buttons" ==> includes "@layout/include_button_layout_small" ==> includes "@layout/include_below_buttons"
Is it possible to get the width of a linear/relative layout, if the layout_width is set to fill_parent in the layout xml? For example, I have the following layout xml. Is it possible to find the width of the cameraSourceScreen?
I have a ListView that I want to populate with objects whose layout is defined via XML. Is there a way to instantiate a layout at runtime, editing stuff like the Android layout ID, etc., and then load the new layout into the list?
I am currently working on a project which requires me to use an XML document to render a form on an Android device. The form must be fetched and displayed at run-time. I am wondering if there is a way to tag the form XML, transform it using XSLT into an Android layout XML, and then have the device render it.
I want the ability to re-arrange Views in a LinearLayout, without specifying specific pixel locations, at runtime. for my proof of concept, I have a layout with 2 TextViews, one red, and one black. The red TextView is on the left. I want onClick to set it to be on the right, without adjusting margins, as if I'd re-written the XML of the layout, with the red TextView second.
One of our views has a ScrollView as its root layout. When the device is rotated and onConfigurationChanged() is called, we'd like to be able to get the ScrollView's new width/height. Our code looks like this...
I created my style in styles.xml, lets say MyStyle. I can use it in any layout file by style="@style/MyStyle". Also my generated R class have R.style.MyStyle, my question is if I can use it at runtime to "setStyle" - unfortunately View doesn't have such a method. If not what is R.style.MyStyle used for? (I already know that custom themes IDs are also in R.style and can be used to setTheme, but MyStyle is not a theme).
My application requires 2 screens and for this I have created two different XML layout files using RelativeLayout. One layout file loads whenever I run my Activity. Now I want to load the second layout on to the same Activity , when user click on a button in OptionsMenu and also when user press Back button the first screen loads instead of exiting the application. So that i don't need to create another Intent in my application.
I have a linear layout (oriented horizontally) that contains 3 buttons. I want the 3 buttons to have a fixed width and be evenly distributed across the width of the linear layout.I can manage this by setting the gravity of the linear layout to center and then adjusting the padding of the buttons, but this works for a fixed width and won't work for changing devices or orientations. <Linear Layout android:id="@+id/LinearLayout01" android:layout_height="wrap_content" android:orientation="horizontal" android:layout_width="fill_parent" android:gravity="center"> Button android:id="@+id/btnOne" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="120dip"></Button><Button android:id="@+id/btnTwo" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="120dip"></Button>Button android:id="@+id/btnThree" android:layout_width="wrap_content" android:layout_height="wrap_content" android:width="120dip"></Button></Linear Layout>
Every time that I want to do a Layout, I'm getting a black layout preview then I can drop stuff on it, that's ok, but how can I change the size of that blank surface (xml). The question came because I set a folder layout-large and then when I add a new layout.xml to that folder it came with the same size, as a layout-normal.
I have a layout xml file with a linear layout. One of the children is again a ViewGroup Relative layout. In my java code i want to change the width of this child Viewgroup for my requirements. I tried this
I couldn't do this because findViewById(childViewGroup) doesn't fetch ViewGroups it does only for Views. Note: I cant define a whole new layout.xml for this minor requirement since it is huge layout file and might cause performance overhead. I wanted to just change the width of the child view group in my java activity code.
I am working on layout in android XML in which I would like to set a buttons height to match it's width when setup to fill parent. Obviously this number will change based on screen size, so I cannot use a set pixel size. Can someone help me with getting the button width based on screen size and then passing that to the height setting?
I've got the hard-coded layout, consisting of buttons, and need to enlarge some of them. I found Button's method setWidth(int value), accepting width in pixels, but I need to set value in dp. So, how can I set dp value in program code?
Is it possible to load a layout XML at runtime and load into activity?
In my app, I have various types of data like Person, Company, City, etc; The requirement is to dynamically load the layout, find views by tags (property names like Person.name, Person.address) and then fill in data. For example, if user has selected an object of type Company, we want to load a company.xml layout, inflate it and then associate various properties (company name, company slogan, city, address, revenue) to tagged views. One possibility I see here is - each view in the layout will be associated with property-name as tag and then appropriate data will be loaded in appropriate views.
What should be the best design you would recommend?
I would like to apply both an icon and text to a button. The button would have the icon centered in the button and text written at the bottom, centered. I could not get the text to center and be at the bottom using android:gravity.A side note, for a layout with 6 buttons is a Table Layout the best way to do it? There is 3 rows and 2 columns.Another side note, why does the button lose its rounded edges when I add background color?
each child is horz linear layout w/ 3 children: image view, linear layout container and then an image button if the image button is GONE - then i get click notifications when someone clicks on the list entry. if the image button is VISIBLE (even if i don't intercept onclick) - i don't get the list click event notification.
i am trying to display a linear layout , say at setpadding (10,10,0,0); now i need to put some buttons at particular xy position in layout.button position doesn't seem to work in that way. can anybody suggest how can i set button position in layout?