Android 基礎控制元件(二)
阿新 • • 發佈:2018-11-17
##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);
}