I want to make my image in given way .
AAAA BBBBB then in next line
CCCC DDDDD
I tried grid layout but dont know how to align them for every screen size .
You should use a Master LinearLayout(it will be vertical). Inside it, use two LinearLayout(both horizontal). In master LinearLayout, use Layout_weight of 1.0. and in two child linearLayout, use layout_weight 0.5.
Then put the images in each child linearLayout with layout_weight 0.5 again.
You might want to use Layout_gravity="right"&"left" to properly oriented it.
Related
I have a screen which basically consists of 2 parts
upper is a hierarchical structure of multiple LinearLayouts with regularly changing TextViews,
lower is a heavy for drawing custom view.
Currently the TextViews in the upper part have wrap_context set to their width, as a result every their change cause Android to relayout the whole page, including the hard for drawing custom view in the lower part.
My question - Is there another way to solve this problem except changing layout_width parameter for changing TextViews to constant value?
Create LinearLayout to be parent with vertical orienetation. Now create two children LinearLayout with vertical orienetation but with layout_height to 0dp for each and layout_weight to 1 for each respectively.
I want to develop a simple sudoku app. For the layout, I need to have a 9x9 table/grid for the board, and 12 buttons under it and all this must fit in one screen,i had a couple of ideas but there is a problem in each of them
Using GridView and pass a 2d array to the adapter, BUT, the grid is scrollable and the player must see the whole board.
Using TableView, but its not clickable as the grid.
Create 81 button for the board in the xml or programmatically, I think it will be complex.
Is there are any other simpler or more efficient ideas! And if not , which one from the above is better.
There's an option for getting this done using weighted width and height. As far as I know this feature is only available in LinearLayouts.
The main idea I've just explained in this answer.
Please first off read the answer I linked to and then you could use the following approach to laying out your buttons.
Declare a main vertical LinearLayout and set its width and height to match_parent.
Add 9 horizontal LinearLayouts while their width is set to match_parent and their height set to 0dp with layout_weigth equal to 1.
Add 9 buttons (i.e. your cells) to each LinearLayout while their width is set to 0dp and layout_weight set to 1 and their height is set to match_parent.
I am new to xml and android and I was designing a simple application that has 3 buttons in two rows. Now I can't get to a way to make the layout responsive (adjust according to the screen resolution) for every android device. I did a little search but couldn't find anything relative.
So my first question is can you create a UI with xml that works with all sizes of screen?
If yes then how to do it? Or at-least please point me in the right direction.
Thanks
As user Radhe has suggested, android:layout_weight used appropriately within a LinearLayout will easily scale the buttons. If you have the buttons lined up horizontally within a LinearLayout, set each button's height to whatever you'd like (I prefer match_parent) and set each button's width to 0px. For each button, you may set a layout_weight. The weight of each button represents the ratio of the width of each button to every other within that LinearLayout. So if you have 3 buttons, each with a width of 1, the will all be the same width. If one button has a width of 2 and the other two have a width of 1 each, the one with the width of 2 will be as wide as the other two combined. Just play around with it until you get what you like.
I'm creating a list view in Android where each row is shown with LinearLayout. The problem that I have is that since the text is different in each line, it isn't aligned in the same way. See for e.g. the "Date" - in different position on each line. What is the best way to create such a view?
Thanks in advance,
Noam
This is the same problem why browsers are slow with showing tables with variable width: you have to calculate the widths after you've parsed all content.
The quickest way is to manually assign a size (width) to your columns.
If you really can't do that because your content is very unpredictable (are you sure?) you could try and find out what the sizes should be from all your content, and then award the sizes.
Have a couple LinearLayouts in your row layout. Set their orientation to vertical and their layout_width to fill_parent. Also set their layout_weight to 1. These will act as columns and when you put stuff inside and for example center it it will always be in the same place.
I have 6 images I want to display as 2 rows with 3 images in each. I'm using nested LinearLayouts to achieve this, and it works well except for one thing:
The height of the largest image dictates the size of the linear layout, meaning there is empty space a lot of the time. In other words, my problem is as follows:
I keep getting the layout shown on the left, and I want the layout shown on the right.
I am aware that you can just use GridView, but that will still prevent the exact layout shown on the right, so I'm at a loss really. Many thanks.
Instead of 2 rows of three columns, you need 3 columns of 2 rows. LinearLayouts would be fine, just to be sure set the Gravity of the individual cells to Gravity.TOP.
You could equally achieve the whole grid using RelativeLayout instead of Linear. Each of your bottom row would just need android:layout_below and android:layout_alignLeft set to be the ImageView above it.