Adjust view size in accordance with screen size - android-studio

I am having problem in resizing views according to screen size changes in android studio. I have 3 image buttons adjacent to each other and I want their combined width to fill width of screen. I know that match_parent can fill the screen size but this case is different. I want each button of width as 1/3 size of screen. How can I do this?

Assuming these 3 buttons are located inside a horizontal <LinearLayout> add these tags to each button layout_width="0dp" and layout_weight="1"

Related

How to make a vertical slider?

I need a vertical slider similar the standard slider. Is there a way to modify the existing one or do I need to make a new one?
The standard slider would work for me. I just need it to work vertically.
Perhaps I should better clarify my issue with the standard slider.
Yes, I can drag the size of the slider and it will be vertical. The problem is that when you select the value of the slider to show the text gets buried in the low side of the slider when you slide it down all the way. It essentially gets cut off and only shows the top half of the slider value character. I find no way to correct this by moving the shown text up a little so it all shows. I see no way to change text vertical or offset position in the properties setting.
The text settings only allow you to change the text format to right, center and left justify. There is no setting that can move the text up to prevent it from being cut off when the slider is all the way to the lower or down position.
The value text shows ok on the top of the slider. The problem is on the bottom side when you set the slider to be vertical.
It looks like the the show value setting does not place the value on the top layer of the slider and it gets hidden behind something else in the slider object.
LC9, Windows 10
I think I'm understanding your question. If you just resize the horizontal slider control so that the width is narrower than the height, the orientation of the slider control will automatically change to vertical.
Apparently it is a bug in this version of LC. At least in Win which is where I am testing.
Putting the scrollbar vertically cuts the value when it reaches the bottom.
But I found a solution so that it does not cut. Play around with the properties of the font. Such as size and family. In my case it worked fine by lowering the font size by one pixel.
Default: Segoe UI font, size 12
I just set the size to 11 and it doesn't cut anymore.
For what it is worth, I do not see this issue on a Mac. A vertical slider works as advertised. Font size makes no difference.
Are you saying that in the horizontal mode, you do not see this, but when changed to vertical, you do?
Try creating a scrollbar and a text field.
Set the scrollbar's showValue property to false and copy the following script to your scrollbar. Note that your field must be called "scroll value".
on scrollbarDrag pNewPosition
local tLoc
lock screen
# The Current Loc of Field
put the loc of field "scroll value" into tLoc
# New Position of scrollbar
put pNewPosition into field "scroll value"
# New Loc of Field
put the mouseV into the item 2 of tLoc
set the loc of field "scroll value" to tLoc
set the left of field "scroll value" to the right of me
unlock screen
end scrollbarDrag

Have button width grow with text and align correctly

I have a view with the following layout:
[Image] [button1] [label1] [button2]
[label2]
button1 & button2 should grow and shrink based on how long the text will be, label1 will always contain the same text so it doesn't need to adjust just align with the buttons that will.
my iOS skills aren't very sharp (I'm more of an android dev) so I'm not sure how I achieve this.
You can try adding these horizontal constraints:
Left Margin for image.
Fixed width constraint for image.
Right margin from the image to the button.
Right margin from button1 to label1. Then set that to 'more than or equal' like maybe 20pts. This means the spacing will always adjust itself to be as large as possible without going off screen (width autoresized to fit text).
Fixed width for label1.
Left margin from button2 to label1.
Right margin from button2 to superview. Then set that to 'more than or equal' like maybe 20pts. This means the spacing will always adjust itself to be as large as possible without going off screen (width autoresized to fit text).
More on constraints :
Apple developer autolayout
Raywenderlich adaptive layout

Motif: How to move Scroll Bar automatically without user intervention

I have a scrolled window in my application, in which I have created a drawing area widget. In the drawing area, I have placed multiple images. When the user enters information about an image in a search box, the appropriate image gets highlighted.
My problem is how do I get the application to scroll automatically to the highlighted Image box without the user using the scroll bar. The scrolledwindow should automatically move the view region, to display the region where the highlighted Image is present.
The scrolling policy used on the scrolled window is XmAUTOMATIC.
Any pointers would be greatly appreciated.Thanks in advance.
Try XmScrollVisible() if this does not work then you will need to:
1. Find out the size of the work area.
2. Find out the size and position of the clip window.
3. Find out the max/ min values for the horizontal scrollbar.
4. Use XmScrollBarGetValues() for the horizontal scrollbar to get its position within the max/min values.
5. Do some math magic to determine how much to move the horizontal scrollbar to get the work area to show through the clip window.
6. Call XmScrollBarSetValues() with Notify = True.
7. Repeat for the Vertical scrollbar.
HTH

Adding tab icons is shrinking the size of the tab and not showing the full icon

I'm using the Java Scene Builder 2.0 to create a GUI that uses the tab pane. I've added an Imageview to each tab so I can give them icons instead of text. I set the tabs minimum width and height to 100x100 and they adjust to that size. When I add an imageview to the tab I'm making it's minimum width and height 100x100 but it shrinks the tab size and only shows a part of the icon. This happens when the imageview has a picture and when it doesn't so I don't think it's a problem with the size of the picture.
You can see from this picture the first tab from the left doesn't have an imageview and is the size I want the tabs to be. The second tab has an empty image view and the rest of the tabs have images. I would like the images to be 100x100 and fit in the tabs.
A Java Scene Builder solution is prefered but I will also gladly accept a code solution.
I solved the problem it was something simple. In the tab pane Layout settings I only changed the min height/width to 100x100 but I left the max height/width to the default which was 1.7976931348623157E308. I didn't notice that number was so small at first and I changed it to 200. Now the images display better.

How to auto layout between iPhone 4 and 5

I have an iPhone app that will only ever be in Portrait view.
I have a number of buttons etc. on my layout. However, when I switch between iPhone 4 and iPhone 5 sizes, I need the bottom image to "stick" to the bottom. The rest of the images and buttons can stay where they are. I just need to bottom white image to look like a footer.
Can anyone please tell me how to do this?
I have tried using constraint (Pin) and set the bottom margin value to 0 but this simply stretched the bottom white image across the entire View.
Below are 2 screen grabs of how the layouts appear for both iPhone 4 and 5 (this is taken in Storyboard)
iPhone 4
And iPhone 5
You can just add a constraint to the bottom layout guide and set it to zero.
From your storyboard/xib, place the view at the bottom of the container, drag&drop from the view to the view itself but be sure to dragging downward. Then select "Bottom Space to Bottom Layout Guide". Now your view is fixed at this distance from the bottom of the main view.
You obviously have to set up the other constraints for the white view (width, height and horizontal position).

Resources