对ImageView的研究。
package com.example.android.apis.view;
import android.app.Activity;
import android.os.Bundle;
import com.example.android.apis.R;
/**
* Demonstrates setting size constraints on {@link android.widget.ImageView}
*
*/
public class ImageView1 extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.image_view_1);
}
}
这个Activity的代码部分很简单,就是重写了下OnCreate这个方法,
setContentView(R.layout.image_view_1)用来调用布局文件image_view_1
接下来是这个布局文件(运行结果已上传)
一段一段的贴出来好进行分析
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android" //可以实现滚动效果,此处内容太少,所以没有滚动按钮
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout //一种布局方式,是内部内容呈线性排列
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"> //设置排列方式为竖直
<!-- The following four examples use a large image -->
<!-- 1. Non-scaled view, for reference -->
<TextView
android:layout_width="match_parent" //此处设置宽度为匹配的宽度
android:layout_height="wrap_content" //设置高度为合适高度
android:paddingTop="10dip" //设置textview与里面文字的间距
android:text="@string/image_view_large_normal"/> //设置内容,内容在res\values\strings.xml里
<ImageView
android:src="@drawable/sample_1" //设置图片路径
android:adjustViewBounds="true" //表示imageview的大小由图片大小决定
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 2. Limit to at most 50x50 -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_large_at_most"/>
<ImageView
android:src="@drawable/sample_1"
android:adjustViewBounds="true"
android:maxWidth="50dip" //和下面一行一起设置边框大小的最大值
android:maxHeight="50dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 3. Limit to at most 70x70, with 10 pixels of padding all around -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_large_at_most_padded"/>
<ImageView
android:src="@drawable/sample_1"
android:background="#66FFFFFF" //设置imageView背景色
android:adjustViewBounds="true"
android:maxWidth="70dip"
android:maxHeight="70dip"
android:padding="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 4. Limit to exactly 70x70, with 10 pixels of padding all around -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_large_exactly_padded"/>
<ImageView
android:src="@drawable/sample_1"
android:background="#66FFFFFF"
android:scaleType="centerInside" //控制图片如何resized/moved来匹对ImageView的size
android:padding="10dip"
android:layout_width="70dip"
android:layout_height="70dip" />
<!-- Repeating the previous four examples with small image -->
<!-- 1. Non-scaled view, for reference -->
<TextView
android:layout_width="match_parent" //类似的有
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_small_normal"/>
<ImageView
android:src="@drawable/stat_happy"
android:background="#FFFFFFFF"
android:adjustViewBounds="true"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 2. Limit to at most 50x50 -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_small_at_most"/>
<ImageView
android:src="@drawable/stat_happy"
android:background="#FFFFFFFF"
android:adjustViewBounds="true"
android:maxWidth="50dip"
android:maxHeight="50dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 3. Limit to at most 70x70, with 10 pixels of padding all around -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_small_at_most_padded"/>
<ImageView
android:src="@drawable/stat_happy"
android:background="#FFFFFFFF"
android:adjustViewBounds="true"
android:maxWidth="70dip"
android:maxHeight="70dip"
android:padding="10dip"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
<!-- 4. Limit to exactly 70x70, with 10 pixels of padding all around -->
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingTop="10dip"
android:text="@string/image_view_small_exactly_padded"/>
<ImageView
android:src="@drawable/stat_happy"
android:background="#FFFFFFFF"
android:scaleType="centerInside"
android:padding="10dip"
android:layout_width="70dip"
android:layout_height="70dip" />
</LinearLayout>
</ScrollView>
----------------------by z