一、<ImageView>圖片縮放

添加屬性:android:scaleType="屬性值"

android:scaleType屬性值的可選參數:

說明 效果圖
matrix 拉伸圖片(不按比例)以填充View的寬高

fitXY 根據父元素拉伸填充

fitStart

fitCenter

fitEnd

center

centerCrop

centerInside

二、<merge></merge>標籤的作用
merge中文意思是融入顧名思義就是將一個布局融入到另一個布局中
<include layout="xxx/xml">
新建一個inner.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout     
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:orientation="vertical"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#00777777"
        android:gravity="center_horizontal|center_vertical">
        <TextView
              android:layout_width="wrap_content"
              android:layout_height="wrap_content"
             android:text="這裡是文字"
         />
</LinerLayout>

新建一個main.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:fitsSystemWindows="true"
    tools:openDrawer="start">
    <include  layout="@layout/inner"/>
 </LinearLayout>

現在是 <TextView>節點是

  <LinearLayout>
  ---<LinearLayout>
  -------<TextView>

inner.xml最外層套上<merge></merge>標籤后

<merge>
    <?xml version="1.0" encoding="utf-8"?>
    <LinearLayout     
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:orientation="vertical"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:background="#00777777"
            android:gravity="center_horizontal|center_vertical">
            <TextView
                  android:layout_width="wrap_content"
                  android:layout_height="wrap_content"
                 android:text="這裡是文字"
             />
    </LinerLayout>
</merge>

此時的TextView的節點

  <LinearLayout>
     ----<TextView>

直接就少了inner.xml文件里的<LinearLayout>
由此可以看出兩者的區別

總結:

在使用include復用layout時,可能復用的layout有個view group,然後這個view group又被嵌套別的view group里,這樣就增加了view的深度,影響運行的速度,而這種嵌套不是必須的。
因此可以使用<merge\>標籤,它將它裏面嵌套的view直接include到其父layout中,而沒有再加一層view group,因此減小了深度,提高了速度

分享