android layout: dynamic margin in LinearLayout - android

The scenario:
10 buttons in an linear layout using layoutweight: 1
The result i want:
The buttons should fill the linear layout by adapting their margin.
Failed attempt:
I tried setting, for the linear layout, the attribute weightsum: 11 (number of buttons + 1) in the hope that the remaining 11 - 10 would be used as a margin divided to all the buttons (1/10 margin for each button)

You might want to try a ConstraintLayout, if you constraint all buttons to each other they will spread out evenly inside the ViewPort.
Top<-B1<->B2<->B3...B10->Bottom

Related

Button are getting overlapped on deifferent devices using dp in relative layout

left one is the mobile phone and right one is the device on android studio.
Use linear layout (horizontal) inside your relative layout and add buttons to it
Set linear layout's attribute weight_sum to number of buttons in a row (for example 5)
Set buttons' attribute layout_weight instead of explicitly defining size in dp (for example 1 for each button)
Duplicate your linear layout for all the rows
Profit

Layout above - center other layouts

Need to put an information layout above the others.. but the half up of layout 3, is below the layout 1..
what i need.. layout 3 above the others, and in the center of the padding
what i have.. layout 1 above 3, and layout 3 above layout 2
using RelativeLayout i get layout 3 below the others, the opposite.
is there an option or something like bring to front??
Any other clue?
Thanks!
Each View's position on the Z-axis is dependent on its order in the XML file. Try placing the layout you want on top after the other two layouts in your XML file. If you want to change the View's position in your java code, you can use
view.bringToFront();
http://developer.android.com/reference/android/view/View.html#bringToFront%28%29

How to remove Linear Layout via code in ANDROID

I have a Linear Layout with many linear layouts inside. At runtime , I want to remove this layout(along with its child linear layouts) from the view subject to a condition. On removal, I want other layouts to be adjusted accordingly.
I tried this, but the layout remains.
if(getIntent().getStringExtra("ListingType").equals("Brief")){
extraLayout.setVisibility(View.GONE);
extraLayout.removeAllViews();
}
This Activity has 2 main Linear Layouts, 1 is DetailsLayout and 2 is ExtraLayout, both these layouts are relative to each other in a ScrollView. The main(root) layout of the Activity is Relative Layout

Centering a Linear Layout Horizontal and Vertical

Im running into a speed bump in my android App. I want to center my Linear Layout in the center of the screen (Horisontally only) and I want to center another element only vertically. I haven't seen an easy apparent way to do this in the program.
http://i.stack.imgur.com/gfMBD.png
I want the grey Box to be centered horisontally in the app
I'm not sure, how your layouts are now, but I'd do something like this:
Vertical Linearlayout
RelativeLayout, centered horizontally
RelativeLayout, set to match parent
RelativeLayout, centered vertically
Use RelativeLayout as a root ViewGroup, and then just add android:layout_centerHorizontal="true" to your first LinearLayout, and android:layout_centerVertical="true" to your second one.

How to add more Items in Scrollview in Android?

My android page has 10 EditText and 10 TextView. but there is no space in my screen in the Graphical Layout. i just added 5 only. im using Scroll layout. how to add additional 5 items in the screen without reducing the items height. Is there any coding here.?
<ScrollView>
<LinearLayout>
<TextView/>..
....
..
</LinearLayout>
</ScrollView>
You can add multiple items inside a LinearLayout. Since ScrollView is scrollable it won't affect the dimensions of the Views inside. You can add as many views as you need without worrying about screen size or View size..
You should add a LinearLayout as the only child inside your ScrollView. Then get a reference to that LinearLayout :
mLayout=(LinearLayout)findViewById(R.id.myLayout);
and then add Views dynamically from code using :
EditText et=new EditText(...);
//....
mLayout.addView(et);
A ScrollView can have only one direct child, so you need to put all the other Views in a Layout, such as LinearLayout and put that layout in ScrollView
Make your ScrollView's height as match_parent and the inner LinearLayout's height as wrap_content. The LinearLayout will stretch according to the number of children inside it and if the height exceeds the height of the ScrollView, the overflow can be seen by scrolling. If the ScrollView and inner Layout both have same height or if ScrollView have larger height than inner Layout, the scrolling won't happen for obvious reason.

Categories

Resources