android 中imageview 與diallog綜合應用猜牌遊戲
package training.android.com;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.Dialog;
import android.content.DialogInterface;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;
import android.widget.Toast;
//建立人:xinzhouc
//建立時間:2010-3-25
public class paygamesCard extends Activity {
// 按鈕
private Button btnStart;
// 圖片控制元件
private ImageView imageview1;
private ImageView imageview2;
private ImageView imageview3;
// 初始化圖片陣列;
/*
* R.drawable.p01 紅心A R.drawable.p02 黑桃2 R.drawable.p03 梅花3
*/
private static int[] imagearray = new int[] { R.drawable.p01,
R.drawable.p02, R.drawable.p03 };
// 顯示文字控制元件
private TextView txtview;
// 是否開始
private int isStart = 0;
// 當前選中的圖片編號
private int Current_Select_ID = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// 初始化找到各控制元件
btnStart = (Button) findViewById(R.id.Button01);
imageview1 = (ImageView) findViewById(R.id.ImageView01);
imageview2 = (ImageView) findViewById(R.id.ImageView02);
imageview3 = (ImageView) findViewById(R.id.ImageView03);
txtview = (TextView) findViewById(R.id.TextView01);
// 初始時為控制元件賦初值
imageStart();
// 洗牌
RandomImage();
// imageview1控制元件事件
imageview1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (isStart == 0) {
Current_Select_ID = 0;
onclickImage();
} else {
RestStartImage();
}
}
});
// imageview2控制元件事件
imageview2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
// if(imageview2.getResources().getDrawable(id)
if (isStart == 0) {
Current_Select_ID = 1;
onclickImage();
} else {
RestStartImage();
}
}
});
// imageview3控制元件事件
imageview3.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if (isStart == 0) {
Current_Select_ID = 2;
onclickImage();
} else {
RestStartImage();
}
}
});
// 重來按鈕事件
btnStart.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
RestStartImage();
}
});
}
// 洗牌事件
private void RandomImage() {
for (int i = 0; i < 3; i++) {
int tmp = imagearray[i];
int srandom = (int) (Math.random() * 2);
imagearray[i] = imagearray[srandom];
imagearray[srandom] = tmp;
}
}
// 給圖片賦初值
private void imageStart() {
imageview1.setImageResource(R.drawable.p04);
imageview2.setImageResource(R.drawable.p04);
imageview3.setImageResource(R.drawable.p04);
Current_Select_ID = 0;
imageview1.setAlpha(255);
imageview2.setAlpha(255);
imageview3.setAlpha(255);
txtview.setText("");
isStart = 0;
}
// 點圖片時產生效果
private void onclickImage() {
isStart = 1;
new AlertDialog.Builder(paygamesCard.this)
.setTitle("確認")
.setMessage("是否繼續")
.setPositiveButton("確定", new Dialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
imageview1.setImageDrawable(getResources().getDrawable(imagearray[0]));
imageview2.setImageDrawable(getResources().getDrawable(imagearray[1]));
imageview3.setImageDrawable(getResources().getDrawable(imagearray[2]));
// TODO Auto-generated method stub
if(Current_Select_ID==0)
{
imageview2.setAlpha(100);
imageview3.setAlpha(100);
}
else if(Current_Select_ID==1)
{
imageview1.setAlpha(100);
imageview3.setAlpha(100);
}
else
{
imageview1.setAlpha(100);
imageview2.setAlpha(100);
}
if (imagearray[Current_Select_ID] == R.drawable.p01) {
txtview.setText("恭喜您選中了紅桃A");
Toast.makeText(paygamesCard.this, "恭喜您選中了紅桃A", Toast.LENGTH_SHORT)
.show();
} else {
txtview.setText("沒有選中紅桃A。點牌重新始");
Toast.makeText(paygamesCard.this, "沒有選中紅桃A。點牌重新始",
Toast.LENGTH_SHORT).show();
}
}}).setNegativeButton("取消", new Dialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
isStart=0;
}}).show();
}
//重新開始
public void RestStartImage()
{
new AlertDialog.Builder(paygamesCard.this)
.setTitle("重新開始")
.setMessage("是否重新開始")
.setPositiveButton("確定",new Dialog.OnClickListener(){
@Override
public void onClick(DialogInterface dialog, int which) {
// TODO Auto-generated method stub
imageStart();
RandomImage();
}})
.setNegativeButton("取消", null).show();
}
}
相關推薦
android 中imageview 與diallog綜合應用猜牌遊戲
package training.android.com; import android.app.Activity;import android.app.AlertDialog;import android.app.Dialog;import android.content.
Android中ImageView centerInside與fitCenter區別
網路上寫ImageView scaleType的很多,但是詳細說明centerInside和fitCenter區別的基本沒有。相信不少人跟我有一樣的困惑。 其實兩者的區別很簡單。fitxx開頭的都是填充檢視的意思,當檢視View的大小比圖片小時兩者使用的效果是一樣;而當Vi
Android中windowTranslucentStatus與windowTranslucentNavigation的一些設置(轉)
windows 屏幕 contex 拉伸 新的 system 整體 navbar 額外 在iOS中,你可能發現頁面會整體拉升到狀態欄,整個頁面效果就會顯得更加的高端大氣上檔次,在Android4.4以後其實也有這種效果的實現,下面我就說一下在進行這種效果實現時碰到的一些坑,
android中ImageView的屬性使用之src和background
如何正確合理使用ImageView 的src 和background 說明: src :為ImageView 原圖內容,存放原圖大小,不會被拉伸; background:為Imageview的背景,會根據ImageView給定的長寬進行拉伸;
轉:Android中IntentService與Service的區別
https://blog.csdn.net/matrix_xu/article/details/7974393 Android中的Service是用於後臺服務的,當應用程式被掛到後臺的時候,問了保證應用某些元件仍然可以工作而引入了Service這個概念,那麼這裡面要強調的是Service不是獨立
android中okhttp與webview的cookie共享
轉載請註明出處:https://blog.csdn.net/u011038298/article/details/84551136 1.在WebView中同步cookie import android.os.Build; import android.text.Text
Android中單例模式的應用
單例模式在我們日常開發中或多或少都會遇見,使用場景也是多種多樣。今天根據專案中需求,正好用到了單例模式。在此記錄一下。 一、跟隨app存活 有什麼方式,可以讓一個變數跟隨app存活呢?是一個單例模式維護的靜態工具類。靜態工具類程式碼一般都使用單例模式來實現,可以防止建立多
Android中onTouch與onClick兩種監聽的完全解析
之前專案中做一個豎直方向的ViewPager效果(詳見我的另一篇博文),這幾天做了幾個改動,突然發現我設定的OnTouchListener對觸控事件的監聽突然不起作用了,琢磨了半天覺得問題就出在onTouch的返回值true還是false上,後來自己測試的時候發現不光與這個有關,與OnClickLi
Android 中介面卡與fragment或者activity的回撥使用
如何使用介面回撥 使用場景:在activity或者fragment與adapter的回撥中 介面卡中使用: public OnUpdat
Android中實現多Tab頁應用
Android上的多Tab是一個什麼效果?如果圖片看不懂的話,但是使用過Android的微部落格戶端,那也很清晰了,就是那個樣子。 但是在Android API V4版本之後,TabActivity被廢棄了不推薦使用,被替換為Fragment, FragmentActivity了,使用新的API
Android中Webview與js互動
1.js呼叫Android程式碼Android端:webView.addJavascriptInterface(new WebHost(this),"js");向WebView註冊一個名叫“js”的物件,然後在JS中可以訪問js這個物件,呼叫這個物件裡的一些方法。 publi
android中Webview與javascript的互動(互相呼叫)
最近做android專案中遇到要在webview中做與js互動相關的東東,涉及到js中呼叫android本地的方法,於是查了資料整理了一下android和js互相呼叫的過程。如下demo,demo的主要實現過程如下:通過載入本地的html檔案(裡面有js指令碼),實現and
android中?attr/**與@drawable/**或@color/**等的區別
今天在寫一個Demo,研究主題的時候,遇到了【?attr/colorPrimary】這個用法,由於網上都是千篇一律的回答,所以我只能硬著頭皮去看原始碼了,茶壺煮餃子,暫且記下來,作為備忘錄吧。 一、?
Android中requestLayout()與 invalidate()的區別
invalidate()方法雖然最終會呼叫到performTraversals()方法中,但這時measure和layout流程是不會重新執行的,因為檢視沒有強制重新測量的標誌位,而且大小也沒有發生過變化,所以這時只有draw流程可以得到執行。而如果你希望檢視的繪製流程可以完完整整地重新走一遍,就不
ANDROID 中UID與PID的作用與區別
PID:為Process Identifier, PID就是各程序的身份標識,程式一執行系統就會自動分配給程序一個獨一無二的PID。程序中止後PID被系統回收,可能會被繼續分配給新執行的程式,但是在android系統中一般不會把已經kill掉的程序ID重新分配給新的程序,新產生程序的程序號,一般比產生之前所
Android中JSONObject與JsonObject的區別
Android與伺服器互動的時候,我們經常使用json格式的資料,使用較多的是JSONObject與JsonObject這兩個類,它們有什麼區別呢? 我們先看一段程式碼: package com.example.testjson; import org.j
Android中wifi與資料流量的切換監聽
最近在做一個wifi和移動資料的監控功能,來來回回折騰了一陣子,這個模組的主要功能是監聽整個APP的wifi與資料流量的切換,讓使用者使用專用流量,而不是用wifi,給一個彈窗,點選確認,自動切換資
Android中finish()與destroy()的區別
個人理解,這兩者的區別是finish()屬於執行方法,而destroy()屬於系統方法。finish()是在程式執行的過程中使用它來將物件銷燬,而destroy()方法是在系統將該activ
Android中Webview與原生介面互動及二維碼掃描功能實現
最近專案中有一個新的需求,大致是這樣的:APP中通過WebView展示一個第三方的HTML5介面,使用者可以在HTML5介面中呼叫Android攝像頭進行二維碼掃描,並將掃描結果顯示在HTML5介面。這顯然涉及到了Android原生與WebView之前的傳值
Android中getContext()與getApplication()的區別
1.getContext()通常認為取到的是Activity物件,而getApplication()可以取到application物件 2.從Manifest中可以看出,一個應用程式只有一個Application節點。Application就是一個應用,因此,只要程式在執行