版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/u011619283/article/details/82793889
##7.ImageView
ImageView直接继承View,也是非常常用的一种视图控件。
示例代码:
<ImageView
android:id="@+id/testImage"
android:layout_width="100dp"
android:layout_height="100dp"
android:src="@mipmap/ic_launcher"
android:scaleType="center"/>
ImageView最常用的属性是scaleType,可以设置图片的缩放或裁剪模式。
至于各个值的作用,可以参考如下这样图:
另外,如果我们要在代码中设置图片,有多种方式,除了可以设置工程内的图片,还可以设置网络图片。
imageView.setImageResource(resId);
//下载网络图片后,将图片转换为位图数据显示
imageView.setImageBitmap(bm);
imageView.setImageDrawable(drawable);
8.ProgressBar
Android中的进度条有多种样式,有无进度的大小圆环形、有带进度的长条形、有可拖动进度的进度条形、还有用作评价的星星进度条。
小圆进度条
小圆进度条,也可以当做网络请求时的loading用。
<ProgressBar
android:id="@+id/nomalProgress"
style="?android:attr/progressBarStyleSmall"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
反向小圆进度条
同上,只是旋转反向是逆时针旋转。
<ProgressBar
android:id="@+id/nomalProgress"
style="?android:attr/progressBarStyleSmallInverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
大圆进度条
大圆进度条与小圆进度条一样,只是更大一些罢了。
<ProgressBar
android:id="@+id/nomalProgress"
style="?android:attr/progressBarStyleLarge"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
反向大圆进度条
<ProgressBar
android:id="@+id/nomalProgress"
style="?android:attr/progressBarStyleLargeInverse"
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
横向带进度的进度条
<ProgressBar
android:id="@+id/nomalProgress"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="200"
android:progress="50"/>
还有这种写法:
<ProgressBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
android:max="200"
android:progress="50"/>
可拖动的进度条
SeekBar,可以拖动的进度条,一般用做音乐的进度条等。
<SeekBar
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:max="200"
android:progress="50"/>
星星进度条
RatingBar 星星进度条一般可用作评价时,最小可选单位是0.3颗星。
用stepSize来设置,一般设置0.5或者1。
<RatingBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:numStars="5"
android:rating="1"
android:stepSize="1"/>
9.DatePicker/TimePicker
日期选择器
<DatePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
初始化日期选择器的日期
DatePicker datePicker = (DatePicker)findViewById(R.id.datePicker);
Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);
// 初始化日期
datePicker.init(year, month, day, this);
@Override
public void onDateChanged(DatePicker datePicker, int i, int i1, int i2) {
Log.e("MainActivity", i + "#" + i1 + "#" + i2);
}
时间选择器
<TimePicker
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TimePicker>
代码设置时间
TimePicker timePicker = (TimePicker)findViewById(R.id.content_timePicker);
timePicker.setIs24HourView(true);
timePicker.setOnTimeChangedListener(this);
@Override
public void onTimeChanged(TimePicker timePicker, int i, int i1) {
Log.e("MainActivity", i + ":" + i1);
}