【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中實現(xiàn)一個自定義控件_第1頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中實現(xiàn)一個自定義控件_第2頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中實現(xiàn)一個自定義控件_第3頁
【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中實現(xiàn)一個自定義控件_第4頁
免費預(yù)覽已結(jié)束,剩余1頁可下載查看

付費下載

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

【移動應(yīng)用開發(fā)技術(shù)】怎么在Android中實現(xiàn)一個自定義控件

今天就跟大家聊聊有關(guān)怎么在Android中實現(xiàn)一個自定義控件,可能很多人都不太了解,為了讓大家更加了解,在下給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。首先定義一個layout實現(xiàn)按鈕內(nèi)部布局:<?xml

version="1.0"

encoding="utf-8"?>

<LinearLayout

xmlns:android="/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal"

>

<ImageView

android:id="@+id/imageView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:paddingBottom="5dip"

android:paddingLeft="40dip"

android:paddingTop="5dip"

android:src="@drawable/right_icon"

/>

<TextView

android:id="@+id/textView1"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center_vertical"

android:layout_marginLeft="8dip"

android:text="確定"

android:textColor="#000000"

/>

</LinearLayout>接下來寫一個類繼承LinearLayout,導(dǎo)入剛剛的布局,并且設(shè)置需要的方法,從而使的能在代碼中控制這個自定義控件內(nèi)容的顯示。public

class

ImageBtn

extends

LinearLayout

{

private

ImageView

imageView;

private

TextView

textView;

public

ImageBtn(Context

context)

{

super(context);

//

TODO

Auto-generated

constructor

stub

}

public

ImageBtn(Context

context,

AttributeSet

attrs)

{

super(context,

attrs);

//

TODO

Auto-generated

constructor

stub

LayoutInflater

inflater=(LayoutInflater)

context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

inflater.inflate(R.layout.imagebtn,

this);

imageView=(ImageView)

findViewById(R.id.imageView1);

textView=(TextView)findViewById(R.id.textView1);

}

/**

*

設(shè)置圖片資源

*/

public

void

setImageResource(int

resId)

{

imageView.setImageResource(resId);

}

/**

*

設(shè)置顯示的文字

*/

public

void

setTextViewText(String

text)

{

textView.setText(text);

}

}在需要使用這個自定義控件的layout中加入這控件,只需要在xml中加入即可。<?xml

version="1.0"

encoding="utf-8"?>

<LinearLayout

xmlns:android="/apk/res/android"

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:orientation="horizontal"

>

<.karl.view.ImageBtn

android:id="@+id/btn_right"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:background="@drawable/btn"

/>

<.karl.view.ImageBtn

android:id="@+id/btn_error"

android:layout_marginLeft="5dp"

android:layout_height="wrap_content"

android:layout_width="wrap_content"

android:background="@drawable/btn"

/>

</LinearLayout>這里用到了背景圖片在drawable/btn.xml<?xml

version="1.0"

encoding="utf-8"?>

<selector

xmlns:android="/apk/res/android"

>

<item

android:state_focused="true"

android:state_pressed="false"

android:drawable="@drawable/btn_normal"></item>

<item

android:state_pressed="true"

android:drawable="@drawable/btn_white"></item>

<item

android:state_checked="true"

android:drawable="@drawable/btn_white"></item>

<item

android:state_focused="false"

android:state_pressed="false"

android:drawable="@drawable/btn_normal"></item>

</selector>最后在activity中設(shè)置該控件,和其他控件差不多:public

class

IdentifyButtonActivity

extends

Activity

{

private

ImageBtn

imageBtn1;

private

ImageBtn

imageBtn2;

@Override

protected

void

onCreate(Bundle

savedInstanceState)

{

//

TODO

Auto-generated

method

stub

super.onCreate(savedInstanceState);

setContentView(R.layout.identifybutton);

imageBtn1=(ImageBtn)

this.findViewById(R.id.btn_right);

imageBtn2=(ImageBtn)

this.findViewById(R.id.btn_error);

imageBtn1.setTextViewText("確定");

imageBtn2.setTextViewText("取消");

imageBtn1.setImageResource(R.drawable.right_icon);

imageBtn2.setImageResource(R.drawable.error_icon);

imageBtn1.setOnClickListener(new

View.OnClickListener()

{

public

void

onClick(View

v)

{

//

TODO

Auto-generated

method

stub

Toast.makeText(getApplicationContext(),

"點擊的正確按鈕",

1).show();

}

});

imageBtn2.setOnClickListener(new

View.On

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論