最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android自定義控件LinearLayout實例講解

 更新時間:2016年05月31日 14:28:10   作者:guozh  
這篇文章主要為大家詳細介紹了Android自定義控件LinearLayout實例,具有一定的參考價值,感興趣的小伙伴們可以參考一下

很多時候Android常用的控件不能滿足我們的需求,那么我們就需要自定義一個控件了。今天做了一個自定義控件的實例,來分享下。
首先定義一個layout實現(xiàn)按鈕內部布局: 

<?xmlversion="1.0"encoding="utf-8"?>
 <LinearLayoutxmlns:android="http://schemas.android.com/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,導入剛剛的布局,并且設置需要的方法,從而使的能在代碼中控制這個自定義控件內容的顯示。

 public class ImageBtn extendsLinearLayout {
 
 privateImageView imageView;
 privateTextView textView;
 
 publicImageBtn(Context context) {
 super(context);
 // TODO Auto-generated constructor stub
 }
 publicImageBtn(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);
 }
 
 /**
 * 設置圖片資源
 */
 publicvoidsetImageResource(intresId) {
 imageView.setImageResource(resId);
 }
 
 /**
 * 設置顯示的文字
 */
 publicvoidsetTextViewText(String text) {
 textView.setText(text);
 }
 
 }

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

 <?xmlversion="1.0"encoding="utf-8"?>
 <LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:orientation="horizontal">
 
 <cn.com.karl.view.ImageBtn
 android:id="@+id/btn_right"
 android:layout_height="wrap_content"
 android:layout_width="wrap_content"
 android:background="@drawable/btn"
 />
 
 <cn.com.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

 <?xmlversion="1.0"encoding="utf-8"?>
 <selectorxmlns:android="http://schemas.android.com/apk/res/android">
 
 <itemandroid:state_focused="true"android:state_pressed="false"android:drawable="@drawable/btn_normal"></item>
 <itemandroid:state_pressed="true"android:drawable="@drawable/btn_white"></item>
 <itemandroid:state_checked="true"android:drawable="@drawable/btn_white"></item>
 <itemandroid:state_focused="false"android:state_pressed="false"android:drawable="@drawable/btn_normal"></item>
 
 </selector>

最后在activity中設置該控件,和其他控件差不多:

 public class IdentifyButtonActivity extendsActivity {
 privateImageBtn imageBtn1; 
 privateImageBtn imageBtn2;
 @Override
 protectedvoidonCreate(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(newView.OnClickListener() {
 
 publicvoidonClick(View v) {
 // TODO Auto-generated method stub
 Toast.makeText(getApplicationContext(),"點擊的正確按鈕",1).show();
 }
 });
 
 imageBtn2.setOnClickListener(newView.OnClickListener() {
 
 publicvoidonClick(View v) {
 // TODO Auto-generated method stub
 Toast.makeText(getApplicationContext(),"點擊的錯誤按鈕",1).show();
 }
 });
 }
 }

最后看看我們自定義控件的效果吧!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Android圖片壓縮的實例詳解

    Android圖片壓縮的實例詳解

    這篇文章主要介紹了Android圖片壓縮的實例詳解的相關資料,android圖片壓縮主要有兩種方式:壓縮圖片分辨率與壓縮圖片質量,需要的朋友可以參考下
    2017-08-08
  • 詳解Android中Activity的啟動模式及應用場景

    詳解Android中Activity的啟動模式及應用場景

    今天給大家介紹下安卓開發(fā)中不得不涉及的Activity啟動模式及應用場景,Activity一共有四種啟動模式,分別是Standard模式、SingleTop模式、SingleTask模式以及SingleInstance模式,,需要的朋友可以參考下
    2023-09-09
  • Flutter實現(xiàn)圖片濾鏡效果

    Flutter實現(xiàn)圖片濾鏡效果

    這篇文章主要介紹了Flutter如何實現(xiàn)圖片濾鏡效果,幫助大家更好的理解和學習使用Flutter,感興趣的朋友可以了解下
    2021-04-04
  • Android編程應用風格和主題詳解

    Android編程應用風格和主題詳解

    這篇文章主要介紹了Android編程應用風格和主題,較為詳細的分析了Android應用風格和主題的概念、功能、使用方法與注意事項,需要的朋友可以參考下
    2016-10-10
  • Android實現(xiàn)連續(xù)點擊多次事件的代碼詳解

    Android實現(xiàn)連續(xù)點擊多次事件的代碼詳解

    小編經(jīng)常遇到這樣的需求類似進入開發(fā)者模式,即多次點擊后執(zhí)行操作。下面小編通過實例代碼給大家講解Android實現(xiàn)連續(xù)點擊多次事件的相關知識,感興趣的朋友跟隨小編一起學習吧
    2018-10-10
  • Android下拉刷新上拉加載控件(適用于所有View)

    Android下拉刷新上拉加載控件(適用于所有View)

    這篇文章主要介紹了Android下拉刷新上拉加載控件,對所有View通用,感興趣的小伙伴們可以參考一下
    2016-03-03
  • Android Studio4.0解決Gradle下載超時問題

    Android Studio4.0解決Gradle下載超時問題

    這篇文章主要介紹了Android Studio4.0解決Gradle下載超時問題,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • 基于Android week view仿小米和iphone日歷效果

    基于Android week view仿小米和iphone日歷效果

    這篇文章主要為大家詳細介紹了基于Android week view仿小米和iphone日歷效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 簡單掌握Android Widget桌面小部件的創(chuàng)建步驟

    簡單掌握Android Widget桌面小部件的創(chuàng)建步驟

    這篇文章主要介紹了簡單掌握Android Widget桌面小部件的創(chuàng)建步驟,Widget一般采用web前端技術進行開發(fā),需要的朋友可以參考下
    2016-03-03
  • Android Service服務不被停止詳解及實現(xiàn)

    Android Service服務不被停止詳解及實現(xiàn)

    這篇文章主要介紹了Android Service服務不被停止詳解及實現(xiàn)的相關資料,有很多應用在設置運行中會被直接停止掉,這里就提供一個方法一直運行,需要的朋友可以參考下
    2016-11-11

最新評論

罗定市| 上杭县| 四平市| 天全县| 临西县| 九江县| 长丰县| 来安县| 全椒县| 明星| 武安市| 探索| 三穗县| 金阳县| 忻城县| 寿光市| 萝北县| 凤山市| 安岳县| 卢龙县| 江永县| 铁力市| 钦州市| 威海市| 阿尔山市| 高雄县| 德保县| 晋中市| 开江县| 绩溪县| 额敏县| 屏南县| 色达县| 安康市| 瓦房店市| 金阳县| 湟源县| 双辽市| 大丰市| 天等县| 天津市|