安卓中如何實現圖片輪換
A. 安卓代碼中,我有五張圖片,設置一個button,如何點擊一次button就切換下一張圖片
第一種:使用動畫的方法實現:(代碼繁瑣)
這種發放需要:兩個動畫效果,一個布局,一個主類來實現,不多說了,來看代碼吧:
public class IamgeTrActivity extends Activity {
/** Called when the activity is first created. */
public ImageView imageView;
public ImageView imageView2;
public Animation animation1;
public Animation animation2;
public TextView text;
public boolean juage = true;
public int images[] = new int[] { R.drawable.icon, R.drawable.expriment,
R.drawable.changer, R.drawable.dataline, R.drawable.preffitication };
public int count = 0;
public Handler handler = new Handler();
public Runnable runnable = new Runnable() {
@Override
public void run() {
// TODO Auto-generated method stub
AnimationSet animationSet1 = new AnimationSet(true);
AnimationSet animationSet2 = new AnimationSet(true);
imageView2.setVisibility(0);
TranslateAnimation ta = new TranslateAnimation(
Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF,
-1f, Animation.RELATIVE_TO_SELF, 0f,
Animation.RELATIVE_TO_SELF, 0f);
ta.setDuration(2000);
animationSet1.addAnimation(ta);
animationSet1.setFillAfter(true);
ta = new TranslateAnimation(Animation.RELATIVE_TO_SELF, 1.0f,
Animation.RELATIVE_TO_SELF, 0f, Animation.RELATIVE_TO_SELF,
0f, Animation.RELATIVE_TO_SELF, 0f);
ta.setDuration(2000);
animationSet2.addAnimation(ta);
animationSet2.setFillAfter(true);
//iamgeView 出去 imageView2 進來
imageView.startAnimation(animationSet1);
imageView2.startAnimation(animationSet2);
imageView.setBackgroundResource(images[count % 5]);
count++;
imageView2.setBackgroundResource(images[count % 5]);
text.setText(String.valueOf(count));
if (juage)
handler.postDelayed(runnable, 6000);
Log.i(handler, handler);
}
};
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
imageView = (ImageView) findViewById(R.id.imageView);
imageView2 = (ImageView) findViewById(R.id.imageView2);
text=(TextView)findViewById(R.id.text);
text.setText(String.valueOf(count));
//將iamgeView先隱藏,然後顯示
imageView2.setVisibility(4);
handler.postDelayed(runnable, 2000);
}
public void onPause() {
juage = false;
super.onPause();
}
}
布局代碼:
android:orientation=vertical
android:layout_width=fill_parent
android:layout_height=fill_parent
android:id=@+id/rl>
android:id=@+id/imageView
android:layout_width=fill_parent
android:background=@drawable/icon
android:layout_below=@+id/rl
android:layout_height=120dp />
android:id=@+id/imageView2
android:layout_width=fill_parent
android:background=@drawable/expriment
android:layout_below=@+id/rl
android:layout_height=120dp />
android:id=@+id/text
android:layout_width=fill_parent
android:layout_height=wrap_content
android:layout_below=@id/imageView/>
第二種:使用ViewFlipper實現圖片的輪播
Android系統自帶的一個多頁面管理控制項,它可以實現子界面的自動切換:
首先 需要為ViewFlipper加入View
(1) 靜態導入:在layout布局文件中直接導入
(2) 動態導入:addView()方法
ViewPlipper常用方法:
setInAnimation:設置View進入屏幕時候使用的動畫
setOutAnimation:設置View退出屏幕時候使用的動畫
showNext:調用該函數來顯示ViewFlipper裡面的下一個View
showPrevious:調用該函數來顯示ViewFlipper裡面的上一個View
setFlipInterval:設置View之間切換的時間間隔
startFlipping使用上面設置的時間間隔來開始切換所有的View,切換會循環進行
stopFlipping:停止View切換
講了這么多,那麼我們今天要實現的是什麼呢?
(1) 利用ViewFlipper實現圖片的輪播
(2) 支持手勢滑動的ViewFlipper
我們需要先准備幾張圖片:把圖片放進drawable中
創建兩個動畫:在res下面新建一個folder裡面新建兩個xml:
left_in:
android:ration=5000
android:fromXDelta=100%p
android:toXDelta=0/>
left_out:
android:fromXDelta=0
android:toXDelta=-100%p
android:ration=5000/>
一個布局文件:
xmlns:tools=http://schemas.android.com/tools
android:layout_width=match_parent
android:layout_height=match_parent
tools:context=.MainActivity >
android:id=@+id/flipper
android:layout_width=fill_parent
android:layout_height=fill_parent/>
一個主類:
public class MainActivity extends Activity {
private ViewFlipper flipper;
private int[] resId = {R.drawable.pc1,R.drawable.pc2,R.drawable.pc3,R.drawable.pc4};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
flipper = (ViewFlipper) findViewById(R.id.flipper);
/*
* 動態導入的方式為ViewFlipper加入子View
* */
for (int i = 0; i < resId.length; i++) {
flipper.addView(getImageView(resId[i]));
}
/*
* 為ViewFlipper去添加動畫效果
* */
flipper.setInAnimation(this, R.anim.left_in);
flipper.setOutAnimation(this, R.anim.left_out);
flipper.setFlipInterval(5000);
flipper.startFlipping();
}
private ImageView getImageView(int resId){
ImageView image = new ImageView(this);
image.setBackgroundResource(resId);
return image;
}
}
那麼這樣就實現了一個圖片輪詢的功能效果了
我們還可以添加點擊,滑動效果:
我們還需要添加兩個向右的滑動效果:
right_in:
android:fromXDelta=0
android:toXDelta=-100%p
android:ration=2000/>
right_out:
android:fromXDelta=100%p
android:toXDelta=0
android:ration=2000/>
然後我們還需要在主類裡面添加(如果你不想讓圖片自動播放,只想通過手勢來實現圖片播放那麼你需要把「為ViewFlipper添加動畫效果的代碼」刪掉):
public boolean onTouchEvent(MotionEvent event) {
// TODO Auto-generated method stub
switch (event.getAction()) {
case MotionEvent.ACTION_DOWN:
startX = event.getX();
break;
case MotionEvent.ACTION_MOVE://判斷向左滑動還是向右滑動
if (event.getX() - startX > 100) {
flipper.setInAnimation(this, R.anim.left_in);
flipper.setOutAnimation(this, R.anim.left_out);
flipper.showPrevious();
}else if (startX - event.getX() > 100) {
flipper.setInAnimation(this, R.anim.right_in);
flipper.setOutAnimation(this, R.anim.right_out);
flipper.showNext();
}
case MotionEvent.ACTION_UP:
break;
}
return super.onTouchEvent(event);
}
這樣我們利用我們的ViewFlipper完成的圖片輪詢的功能就做完了。
午夜神器APP私密即時語音互動聊天,匿名兩性情趣秘密分享
B. 華為手機圖片庫的圖片順序亂了,如何用手機調整
在文件夾中選擇按照拍攝時間排序,手機拍照一般是默認日期排序,可以在照相機的設置裡面找到該設置,調到「日期」即可。要不然就點擊一下「恢復照相機、攝像機設置」試試。
C. 拜託快來看,就是這種輪換圖片,怎麼做.......
其實動畫的原理很簡單,就是讓圖片有秩序地輪流顯示。
軟體下在地址:http://www3.skycn.com/soft/2521.html
利用Firework 製作動畫總共有三種方法,由易到難分別為:合並已有圖片生成動畫,利用Tween Instances生成動畫和手工繪制。
一、 合並已有圖片生成動畫
合並已有圖片形成動畫,顧名思義就是將一系列圖片按順序排列在不同的幀中從而生成動畫,當然,首先我們必須有一串連續的圖片,然後,在Fireworks中,選擇菜單指令「File/Open Multiple」,這時將彈出「打開」對話框(如圖1), 進裂鋒入所需圖片所在的目錄,然後按照動畫中圖片顯示的順序依次選取圖片,並單擊「Add」按鈕將這三張圖片加入到對話框下面的窗口;注意:我們還必須勾選對話框最下面的「Open as Animation」(以動畫打開)選項,不然的話,我們打開的將是三張分開的靜態圖片;最後,單擊「Done」(完成)按鈕。
圖1 以動畫打開
單擊窗口右下角狀態欄的播放按鈕,怎麼樣?效果還不錯吧!
現在只是一隻海鷗在不停地飛,如果為它再添加一副背景,效果一定會更好,好吧,下面我們就為海鷗添加一副大海的背景。
添加背景的方法有兩種:自動復制和共享圖層。
1. 自動復制
圖2 添加幀
首先,單擊「Frames」面板右上角如圖2按鈕,選擇「Add Frames」,在彈出的對話框中選擇「Number」為1和「At the end」,單擊「ok」按鈕。
圖3 編輯模式狀態
然後將畫布的大小改為200x150(Pixels);接下來,打開背景圖片,發現圖片周圍有一個如圖3的邊框,說明圖片處於圖像編輯模式,選擇「Modify/Exit Image Edit (Ctrl+Shift+D)」,使圖片�攵韻蟊嗉�J劍�綣�餚猛計�蚩�弊芪�韻蟊嗉�J劍�頤牆�癋ile/Preferences」的「Editing」面板中「Open in Image Edit Mode」復選框前面的對鉤去掉即可。(如圖4)
圖4 Prefernces對話框
選中新添加的「Frame 4」,將背景圖片拷入其中並適當地調整一下背景圖片的位置,然後選中圖片,單擊「Frames」面板右上角如圖4按鈕,在彈出菜單中選擇「Copy to Frames」,進入「Copy to Frames」窗口,選擇拷貝范圍為:All Frames,單擊「ok」按鈕 。
圖4 拷貝幀
打開「Frames」面板,我們發現前三幀的圖片都被背景圖片遮住了,單擊第一幀,然後選中畫布中的圖片,執行菜單指令「Modify/Arrange/Send」;或者單擊修改工具欄的置後工具(如圖5),將背景圖片移到動畫圖片的後面,其它幀同理。
圖5 置後工具
最後雙擊「Frame 4」,將它的時間延遲設置為0(如圖6)。
圖6 延時設置
至此,背景添加完畢,趕快預覽一下動畫的效果吧!(如圖7)
圖7 動畫效果圖
2. 共享圖層
共享圖層就是使用「Layers」圖層面板,將指定的背景圖片設定為共享圖層,如此即可在所有的幀中看到該背景。
我們有時可能會誤認為每一幀都擁有一個圖層,其實不論設定的幀有多少,這些幀都位於同一圖層上,此叢只是出現的時間不同罷了。
下面我們就利用此方法為剛才的動畫添加一個背景: 首先,將畫布的大小改為200x150(Pixels),然後開啟「Layers」圖層面板,單擊「Layers」圖層面板右上角如圖按鈕,選擇「New Layer」,在彈出的「New Layer」對話框中,為新層起一個名字,例如:background,鉤選「Share Across Frames」復選框,單擊「ok」按鈕,「background」圖層就成了共享圖層,(如圖8)左鍵按住「background」圖層,將它拖到「Layer 1」圖層下面;然後打開背景圖片,單擊「矩形選擇工具」 ,選擇我們需要的背景,將其拷到「background」圖層的畫布中,並適當地調整一下背景的位置。好了,一切ok!
二、 利用Tween Instances生成動畫
利用Tween Instances生成動肆扒晌畫是Firework 3十分強大的功能之一,它的原理是將圖片轉化為元件(symbol),然後,確定元件的初始和結束分身(instance),再利用Tween Instances將這些分身轉換為具有過渡效果的連續幀(frame)。
Tween Instances功能支持元件的位移、旋轉、縮放、扭曲、傾斜以及不透明度的過渡。
具體的動畫製作過程我們可以參見第一章的第四節,這里就不再重復。
三、 手工繪制
如果我們要手工繪制動畫,就需要用到Firework 3的洋蔥皮功能(Onion Skinning),它就象我們製作卡通用的半透明紙一樣,在編輯當前幀的同時,可以看到此前或此後幀中的內容,這樣,我們在手繪動畫時就可以方便地繪制圖案。
下面我們就來認識一下洋蔥皮功能,開啟「Frames」面板,單擊「洋蔥皮功能」按鈕(如圖9),彈出菜單中選項分別為:
· No Onion Skinning: 關閉洋蔥皮功能;
· Show Next Frame: 在當前幀中顯示下一幀的內容;
· Before and After: 在當前幀中顯示前一幀和下一幀的內容;
· Show All Frames: 在當前幀中顯示所有幀中的內容;
· Custom: 可以設置洋蔥皮的顯示功能;
· Multi-Frame Editing: 可以透過洋蔥皮編輯其他幀中的內容。
圖9 洋蔥皮功能菜單
空說無用,打開我們先前製作的「海鷗」動畫,然後選中Show All Frames,我們不僅可以看到當前幀的海鷗,還可以看到其他兩幀中海鷗的淡化效果(如圖10);Firework 3的洋蔥皮功能十分強大,而且方便高效,我們可以在以後的手工繪制動畫中慢慢地體會。
最後關鍵的步驟就是"文件"--導出(或者導出向導最好) --選擇GIF動畫 里邊其他東西自己琢磨 不會了 可以QQ:22394781
D. 安卓開發,我在listview里嵌套了一個viewpager實現圖片輪播的效果,
listview里嵌套慧兆了一個viewpager實現汪碧明圖片輪播, 這本身就困告是一個有問題的嵌套, 為什麼要這樣布局呢, 圖片輪播的控制項一搜一大堆都是開源的, 使用又超級超級的簡單.
E. 安卓電視圖片輪播軟體
安卓電視是可以安裝知了知屏軟體的,裡面有非常多的功能,除了可以圖片輪播外,還可以實現視頻、文檔的輪播。