真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Android開發(fā)中Dialog怎么顯示圖像

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)Android開發(fā)中Dialog怎么顯示圖像,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)是專業(yè)的鹽湖網(wǎng)站建設(shè)公司,鹽湖接單;提供做網(wǎng)站、網(wǎng)站建設(shè),網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行鹽湖網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

Dialog一般指可以顯示在Activity前面的小窗口,當(dāng)前的Activity失去焦點(diǎn)(Focus),Dialog將接受用戶輸入,一般可 以用來顯示消息或接受用戶輸入等等。使用Dialog時(shí)一般不需要直接創(chuàng)建Dialog類的實(shí)例。而是可以使用 AlertDialog,ProgressDialog,DatePickerDialog,TimePickerDialog。最常用的是 AlertDialog。下面就以使用AlertDialog為例,使用AlertDialog來選擇顯示圖像的三個(gè)例子:DrawMap,  JumbleImage,SeeThroughImage。其中DrawMap暫時(shí)不介紹,將在后面介紹Internet應(yīng)用顯示在線地圖時(shí)再說。

通常Dialog是作為Activity一部分來創(chuàng)建的,也就是說在Activity的onCreateDialog(int)中創(chuàng)建。當(dāng)在 onCreateDialog(int)創(chuàng)建Dialog時(shí),Android系統(tǒng)將自動(dòng)管理Dialog的狀態(tài),并把當(dāng)前Activity作為 Dialog的所有者。并且Dialog也繼承當(dāng)前Activity的一些屬性,比如說Option Menu。

創(chuàng)建好Dialog后,可以使用showDialog(int) 來顯示Dialog  ,showDialog的參數(shù)為Dialog的ID。在顯示Dialog之前,如果想對Dialog做些改動(dòng),可以 在 onPrepareDialog(int,  Dialog) 添加代碼。dismiss()關(guān)閉對話框。如果在Activity中則使用dismissDialog(int) 。

本例中使用一個(gè)按鈕來觸發(fā)Dialog,在res\layout 在添加images.xml

                          

修改Image.java

public class Images extends Graphics2DActivity implements OnClickListener{   private Button btnImages;  private int[] imageDuke;    static final private int IMAGE_DIALOG=1;    int w, h;     int offX, offY;      int alpha = 128;  FontEx font = FontEx.getSystemFont();     int fontSize = 24;     Pen pen = new Pen(Color.RED, 2);     char[] message = "Guidebee".toCharArray();     int widthOfMessage = 0;             private int numlocs = 2;     private int numcells = numlocs * numlocs;     private int[] cells;     int  cw, ch;          public void onCreate(Bundle savedInstanceState) {   super.onCreate(savedInstanceState);   setContentView(R.layout.images);   graphic2dView = (GuidebeeGraphics2DView)       findViewById(R.id.graphics2dview);   btnImages = (Button) findViewById(R.id.btnImages);   btnImages.setOnClickListener(this);   Bitmap bitmap     = BitmapFactory.decodeResource(getResources(),     R.drawable.duke_skateboard);   imageDuke = new int[bitmap.getHeight()                           * bitmap.getWidth()];   bitmap.getPixels(imageDuke, 0, bitmap.getWidth(), 0, 0,     bitmap.getWidth(), bitmap.getHeight());   widthOfMessage = font.charsWidth(message, 0,     message.length, fontSize);   w=bitmap.getWidth();      h=bitmap.getHeight();         offX = (SharedGraphics2DInstance.CANVAS_WIDTH - w) / 2;         offY = (SharedGraphics2DInstance.CANVAS_HEIGHT - h) / 2;                cw = w / numlocs;         ch = h / numlocs;         cells = new int[numcells];         for (int i = 0; i < numcells; i++) {             cells[i] = i;         }           }    private void drawJumbleImage(){   Random rand = new Random();         int ri;         for (int i = 0; i < numcells; i++) {             while ((ri = rand.nextInt(numlocs)) == i) {             }              int tmp = cells[i];             cells[i] = cells[ri];             cells[ri] = tmp;         }         graphics2D.clear(Color.WHITE);         graphics2D.Reset();          int dx, dy;         for (int x = 0; x < numlocs; x++) {             int sx = x * cw;             for (int y = 0; y < numlocs; y++) {                 int sy = y * ch;                 int cell = cells[x * numlocs + y];                 dx = (cell / numlocs) * cw;                 dy = (cell % numlocs) * ch;                 graphics2D.drawImage(imageDuke, w, h,                         dx + offX, dy + offY,                         sx, sy, cw, ch);             }         }                 graphic2dView.refreshCanvas();  }    private void drawSeeThroughImage(){   alpha += 16;   if(alpha>255) alpha=0;   graphics2D.clear(Color.WHITE);   graphics2D.Reset();   graphics2D.setDefaultPen(pen);         graphics2D.drawChars(font, fontSize, message,           0, message.length, offX                 + (w - widthOfMessage) / 2, offY + h / 2);         graphics2D.drawImage(imageDuke, w, h,                 offX, offY,                 0xFFFF00FF, alpha);         graphic2dView.refreshCanvas();  }    protected Dialog onCreateDialog(int id) {      Dialog dialog;      switch(id) {         case IMAGE_DIALOG:            final CharSequence[] items = {"DrawMap",         "JumbleImage","SeeThroughImage"};       AlertDialog.Builder builder       = new AlertDialog.Builder(this);       builder.setTitle("Images");       builder.setSingleChoiceItems(items,         -1, new DialogInterface.OnClickListener() {                public void onClick(DialogInterface dialog,               int item) {                       switch(item){                case 0:                                break;                case 1:                 drawJumbleImage();                 break;                case 2:                 drawSeeThroughImage();                 break;                 }                dialog.dismiss();            }            });            AlertDialog alert = builder.create();          dialog=alert;          break;                   default:                    dialog = null;            }       return dialog;   }     @Override  protected void drawImage() {   drawJumbleImage();     }   @Override  public void onClick(View view) {   showDialog(IMAGE_DIALOG);     }  }

從代碼中看到,Dialog是通過AlertDialog.Builder  來創(chuàng)建的,這里Dialog顯示了三個(gè)選項(xiàng),通過builder.setSingleChoiceItems添加處理事件。實(shí)際AlertDialog可以有多種選項(xiàng),具體請參考Android AlertDialog 文檔。

Android開發(fā)中Dialog怎么顯示圖像

上述就是小編為大家分享的Android開發(fā)中Dialog怎么顯示圖像了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


文章標(biāo)題:Android開發(fā)中Dialog怎么顯示圖像
文章鏈接:http://weahome.cn/article/gsseds.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部