Https://i.cnblogs.com/EditPosts.aspx?opt=1 Key Knowledge
As with the linear layout (linearlayout), the Relaivelayout relative layout is one of the more layouts we use. Relative, as the name implies is a reference, is determined by a sibling component, or the parent container (the sibling component is a component in the same layout, if one component in the layout refers to another component in the layout error). The adaptive problem of different screen resolution can be solved by reasonably using the weight weight attribute and relativelayout relative layout of linearlayout.
For example, Xiao Ming on the way to school, at this time his position can be left home how many meters or from the school how many meters, is the use of different reference.
Well, don't say a lot of nonsense, just say more commonly used properties bar ~
Set how all the components in the layout are aligned:
Android:gravity: Sets the alignment of the sub-components within the container
Android:ignoregravity: If this property is set for which component, then the component is not affected by the gravity property
To locate according to the parent container:
Which property is set to TRUE where you want to be located
Left-justified: Android:layout_alighparentleft
Right-aligned: Android:layout_alighparentright
Top alignment: Android:layout_alighparenttop
Bottom alignment: Android:layout_alighparentbottom
Horizontal Center: Android:layout_centerhorizontal
Center vertically: android:layout_centervertical
Central location: android:layout_centerinparent
Last Picture ~ (A little ugly ...) People look at it ~)
Positioning according to sibling components (the property value on the right is the ID of the sibling component)
Left: Android:layout_toleftof
Right: Android:layout_torightof
Top: Android:layout_above
Below: Android:layout_below
Align Upper boundary: android:layout_aligntop
Align bottom boundary: android:layout_alignbottom
Align left boundary: Android:layout_alignleft
Align right boundary: Android:layout_alignright
Here is a more typical example ~
Plum Blossom Layout:
The relevant code is as follows:
<relativelayout xmlns:android= "Http://schemas.android.com/apk/res/android"
Xmlns:tools= "Http://schemas.android.com/tools"
Android:id= "@+id/relativelayout1"
Android:layout_width= "Match_parent"
android:layout_height= "Match_parent" >
<!--This is in the center of the container--
<imageview
Android:id= "@+id/img1"
Android:layout_width= "80DP"
android:layout_height= "80DP"
Android:layout_centerinparent= "true"
android:src= "@drawable/pic1"
/>
<!--to the left of the middle picture--
<imageview
Android:id= "@+id/img2"
Android:layout_width= "80DP"
android:layout_height= "80DP"
android:layout_toleftof= "@id/img1"
Android:layout_centervertical= "true"
android:src= "@drawable/pic2"
/>
<!--to the right of the middle picture--
<imageview
Android:id= "@+id/img3"
Android:layout_width= "80DP"
android:layout_height= "80DP"
android:layout_torightof= "@id/img1"
Android:layout_centervertical= "true"
android:src= "@drawable/pic3"
/>
<!--on top of the middle picture--
<imageview
Android:id= "@+id/img4"
Android:layout_width= "80DP"
android:layout_height= "80DP"
Android:layout_above= "@id/img1"
Android:layout_centerhorizontal= "true"
android:src= "@drawable/pic4"
/>
<!--in the middle of the picture--
<imageview
Android:id= "@+id/img5"
Android:layout_width= "80DP"
android:layout_height= "80DP"
android:layout_below= "@id/img1"
Android:layout_centerhorizontal= "true"
android:src= "@drawable/pic5"
/>
</RelativeLayout>
Finally, there are two more commonly used margin and padding properties!
Margin: Sets the margin of the component to the parent container (usually the layout)
Android:layout_margin: Specifies that a certain margin is left outside the perimeter of the control
Android:layout_marginleft: Specifies that the left side of the control leaves a certain margin outside
Android:layout_margintop: Specifies that a certain margin is left outside the top of the control
Android:layout_marginright: Specifies that a certain margin is left outside the right side of the control
Android:layout_marginbottom: Specifies that a certain margin is left outside the bottom of the control
Padding: Sets the padding between elements within the component (which can be understood as padding)
Android:padding: Specifies that a certain margin is left within the perimeter of the specified control
Android:paddingleft: Specifies a margin within the left side of the specified control
Android:paddingtop: Specifies that a certain margin is left inside the top of the control
Android:paddingright: Specifies a margin within the right side of the specified control
Android:paddingbottom: Specifies that a certain margin is left inside the bottom of the specified control
Both are followed by a parameter, usually in DP units, Eg:android:margin = "10DP"
As follows:
Related code:
<relativelayout xmlns:android= "Http://schemas.android.com/apk/res/android"
Xmlns:tools= "Http://schemas.android.com/tools"
Android:layout_width= "Match_parent"
android:layout_height= "Match_parent"
android:paddingbottom= "@dimen/activity_vertical_margin"
android:paddingleft= "@dimen/activity_horizontal_margin"
android:paddingright= "@dimen/activity_horizontal_margin"
android:paddingtop= "@dimen/activity_vertical_margin"
Tools:context= ". Mainactivity ">
<button
Android:id= "@+id/btn1"
android:layout_height= "Wrap_content"
Android:layout_width= "Wrap_content"
android:text= "button"
/>
<button
android:paddingleft= "100DP"
android:layout_height= "Wrap_content"
Android:layout_width= "Wrap_content"
android:text= "button"
android:layout_torightof= "@id/btn1"
/>
Code Explanation:
This code is simple enough to write a combination of two buttons.
The second button of the first combination is set to Paddingleft = "100DP:, the result button is stretched by 100DP because the element spacing inside is filled with 100DP;
The second button of the second combination is set to MarginLeft = "100DP", and the result button shifts 100DP to the right.
Summarize
Some of the important attributes that Relativelayout uses:
First Class: Property value is True or False
Android:layout_centerhrizontal Horizontal Center
Android:layout_centervertical Vertical Center
Android:layout_centerinparent is completely centered relative to the parent element
Android:layout_alignparentbottom snaps to the bottom edge of the parent element
Android:layout_alignparentleft snaps to the left edge of the parent element
Android:layout_alignparentright snaps to the right edge of the parent element
Android:layout_alignparenttop snaps to the top edge of the parent element
android:layout_alignwithparentifmissing if the corresponding sibling element cannot be found, then the parent element is the reference.
Second class: The attribute value must be the reference name of the id "@id/id-name"
Android:layout_below at the bottom of an element
Android:layout_above at the top of an element
Android:layout_toleftof on the left side of an element
Android:layout_torightof on the right side of an element
Android:layout_aligntop aligns the top edge of this element with the top edge of an element
Android:layout_alignleft aligns the left edge of this element with the left edge of an element
Android:layout_alignbottom aligns the bottom edge of this element with the bottom edge of an element
Android:layout_alignright aligns the right edge of this element with the right edge of an element
Class III: Attribute values are specific pixel values, such as 30dip,40px
Android:layout_marginbottom distance from the bottom edge of an element
Android:layout_marginleft distance from the left edge of an element
Android:layout_marginright distance from the right edge of an element
Android:layout_margintop distance from the top edge of an element
EditText's Android:hint
Sets the prompt information in the input box when EditText is empty.
Android:gravity
The Android:gravity property is the qualification for the view content. For example, a button above the text. You can set the text on the left side of the view, on the right, and so on. Take the button as an example, android:gravity= "right" then the text on the button
Android:layout_gravity
Android:layout_gravity is used to set the position of the view relative to the parent view. For example, a button in the LinearLayout, you want to put the button on the left, right and other positions can be set by this property. Take button For example, android:layout_gravity= "right" button on
Android:layout_alignparentright
Aligns the right end of the current control with the right end of the parent control. This property value can only be true or FALSE, which is false by default.
Android:scaletype:
Android:scaletype is a size that controls how the picture resized/moved to the ImageView.
The meaning difference of Imageview.scaletype/android:scaletype value:
Center/center by the original size of the picture is displayed, when the picture length/width exceeds the length/width of the view, then the center portion of the image is displayed;
Center_crop/centercrop proportionally enlarge the size of the image, so that the image length (width) is equal to or greater than the length (width) of the view;
Center_inside/centerinside the contents of the picture to the full center display, by proportionally reduced or the original size so that the picture length/width is equal to or less than the length/width of the view;
Fit_center/fitcenter enlarge/Reduce the picture to the width of the view, center display;
Fit_end/fitend enlarges/shrinks the image to the width of the view, which is displayed in the lower part of the view;
Fit_start/fitstart enlarges/shrinks the image to the width of the view, which is displayed in the upper part of the view;
Fit_xy/fitxy The picture is not scaled up/down to the view size display;
The Matrix/matrix is drawn with a matrix and is displayed by zooming in and out of the image.
Note that the name of the image in the Drawable folder cannot be capitalized.
Android Development Key Difficulty: Relativelayout (relative layout) detailed