編輯:關於Android編程
1.在Android項目開發的時候,經常看到很漂亮的UI界面,比如,當你點擊一張圖片被選中的時候,覆上一張透明的圖片。表示被選中,區別與那些沒有被選中的。這種是如何實現的呢?答案是LayerDrawable的使用出現的效果。下面是LayerDrawable的總結,若有不正確的地方,請大家指正。
2.簡單的來說,LayerDrawable繼承與Drawable,Drawable就是一個可畫的對象,可能是一張位圖BitmapDrawable,也可能是一個圖形ShapeDrawable,還有可能是一個圖層LayerDrawable。根據不同的畫圖需求創建相應的可畫對象。
LayerDrawable系統將會按這些Drawable對象的數組順序來繪制它們,索引最大的Drawable對象將會被繪制在最上面,定義LayerDrawable對象的XML文件的根元素layer-list ,該元素可以包含多個item元素。
3.代碼實現如下:
方法一:XML方式:
復制代碼 代碼如下:
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >
<item>
<bitmap
android:gravity="center"
android:src="@drawable/ic_03" />
</item>
<item
android:left="25dp"
android:top="25dp">
<bitmap
android:gravity="center"
android:src="@drawable/ic_03" />
</item>
<item
android:left="50dp"
android:top="50dp">
<bitmap
android:gravity="center"
android:src="@drawable/ic_03" />
</item>
</layer-list>
方法二:代碼方式:MainActivity.java類:
復制代碼 代碼如下:
package com.scd.layerdrawabledemo;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.drawable.Drawable;
import android.graphics.drawable.LayerDrawable;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ImageView;
public class MainActivity extends Activity {
private ImageView mView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mView = (ImageView) findViewById(R.id.imageView1);
// 創建資源對象
Resources resources = getResources();
// 創建數組對象
Drawable[] layers = new Drawable[2];
layers[0] = resources.getDrawable(R.drawable.ic_01);
layers[1] = resources.getDrawable(R.drawable.ic_02);
LayerDrawable layerDrawable = new LayerDrawable(layers);
// 設置背景
mView.setImageDrawable(layerDrawable);
}
}
目前幾乎所有的APP在用戶注冊時都會有設置頭像的需求,大致分為三種情況:(1)通過獲取本地相冊的圖片,經過裁剪後作為頭像。(2)通過啟動手機相機,現拍圖片然後裁剪作為頭像
MediaRecorder/MediaPlayer在Android手機上面,音頻的處理比視頻還要復雜,這真是出人意料。在前面的博文《Android開發筆記(五十七)錄像錄
項目一直在趕進度,寫博的時間越來越少了~從事Unity開發也快兩個月了,AR方向~ 使用的是高通家的SDK Vuforia。。。從工程融合一直到對unity和Vufori
介紹彈性滑動也就是漸進式滑動,實現彈性滑動的方法有很多,但是他們都有一個共同的思想:將一次大的滑動分成若干次小的滑動並在一段時間內完成。本文主要介紹三種彈性滑動方式,Sc