成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Android編程中自定義組件的示例分析-創(chuàng)新互聯(lián)

這篇文章主要介紹了Android編程中自定義組件的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站設(shè)計(jì)制作、成都網(wǎng)站建設(shè)與策劃設(shè)計(jì),鹽池網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:鹽池等地區(qū)。鹽池做網(wǎng)站價(jià)格咨詢:13518219792Android是什么

Android是一種基于Linux內(nèi)核的自由及開(kāi)放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開(kāi)放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開(kāi)發(fā)。

具體如下:

在Android中,所有的UI界面都是由View類和ViewGroup類及其子類組合而成。其中,View類是所有UI組件的基類,而ViewGroup類是容納這些UI組件的容器。

其本身也是View類的子類。

Android編程中自定義組件的示例分析

在實(shí)際開(kāi)發(fā)中,View類還不足以滿足程序所有的需求。這時(shí),便可以通過(guò)繼承View類來(lái)開(kāi)發(fā)自己的組件。

開(kāi)發(fā)自定義組件的步驟:

1、創(chuàng)建一個(gè)繼承android.view.View類的View類,并且重寫構(gòu)造方法。
2、根據(jù)需要重寫相應(yīng)的方法。
3、創(chuàng)建并實(shí)例化自定義View類,并將其添加到布局管理器中。

現(xiàn)在來(lái)學(xué)習(xí)使用自定義類

1、首先創(chuàng)建一個(gè)java文件來(lái)繪制圖片

package myview;
import com.example.allcode.R;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Canvas;
import android.graphics.Paint;
import android.view.View;
public class MyView extends View{
  public float bitmipx;
  public float bitmipy;
  public MyView(Context context) {
    super(context);
    bitmipx=550;
    bitmipy=550;
    // TODO Auto-generated constructor stub
  }
  @Override
  protected void onDraw(Canvas canvas) {
    // TODO Auto-generated method stub
    super.onDraw(canvas);
    //創(chuàng)建并實(shí)例化Paint對(duì)象
    Paint paint = new Paint();
    //根據(jù)圖片生成位圖對(duì)象
    Bitmap bitmap = BitmapFactory.decodeResource(this.getResources(), R.drawable.image_equip_baibao_baicaodan);
    canvas.drawBitmap(bitmap, bitmipx,bitmipy, paint); //繪制圖片
    if(bitmap.isRecycled()) //判斷圖片是否可以回收
    {
      bitmap.recycle(); //強(qiáng)制回收?qǐng)D片
    }
  }
}

2、在主activity中實(shí)例化圖片,并添加觸摸事件

package myview;
import com.example.allcode.R;
import android.app.Activity;
import android.os.Bundle;
import android.provider.ContactsContract.CommonDataKinds.Event;
import android.view.MotionEvent;
import android.view.View;
import android.view.View.OnTouchListener;
import android.widget.FrameLayout;
public class ShowMyView extends Activity{
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState);
    setContentView(R.layout.showmyview);
    FrameLayout framelayout = (FrameLayout) findViewById(R.id.showview);
    final MyView myview = new MyView(ShowMyView.this); //創(chuàng)建并示例化MyView類
    //添加觸摸事件
    myview.setOnTouchListener(new OnTouchListener() {
      @Override
      public boolean onTouch(View v, MotionEvent event) {
        // TODO Auto-generated method stub
        myview.bitmipx=event.getX();
        myview.bitmipy=event.getY();
        myview.invalidate();//重繪自定義組件
        return true;
      }
    });
    framelayout.addView(myview);
  }
}

對(duì)應(yīng)的布局文件

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:id="@+id/showview" //不要忘記這一行
   >
</FrameLayout>

效果圖如下:

Android編程中自定義組件的示例分析

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“Android編程中自定義組件的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!

網(wǎng)站名稱:Android編程中自定義組件的示例分析-創(chuàng)新互聯(lián)
URL分享:http://jinyejixie.com/article20/jgcco.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作域名注冊(cè)、手機(jī)網(wǎng)站建設(shè)、Google、網(wǎng)站改版、網(wǎng)站排名

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

綿陽(yáng)服務(wù)器托管
云霄县| 常州市| 贞丰县| 赤城县| 绍兴县| 南城县| 靖宇县| 庆城县| 德保县| 饶河县| 印江| 和龙市| 若羌县| 翼城县| 石阡县| 深州市| 临沂市| 婺源县| 安化县| 固始县| 紫金县| 三亚市| 新丰县| 定安县| 始兴县| 建宁县| 灌南县| 中卫市| 彝良县| 长寿区| 高要市| 南皮县| 邻水| 遂昌县| 保定市| 永仁县| 章丘市| 察雅县| 革吉县| 乌拉特后旗| 大埔县|