亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Android TabSwitcher自定義控件

系統 2234 0
??? 先來看下效果:
Android TabSwitcher自定義控件

main.xml
    <?xml version="1.0" encoding="utf-8"?><linearlayout xmlns:android="http://schemas.android.com/apk/res/android"	android:orientation="vertical" android:layout_width="fill_parent"	android:layout_height="fill_parent" android:background="#ffffff">	<linearlayout xmlns:android="http://schemas.android.com/apk/res/android"		android:id="@+id/tab" android:orientation="vertical"		android:layout_width="fill_parent" android:layout_height="wrap_content"		android:background="#ffffff">	</linearlayout></linearlayout>
  


tabswitcher.java
    package com.iaiai.activity;import android.content.context;import android.graphics.color;import android.view.gravity;import android.view.view;import android.widget.linearlayout;import android.widget.textview;/** *  * <p> * title: tabswitcher.java * </p> * <p> * e-mail: 176291935@qq.com * </p> * <p> * qq: 176291935 * </p> * <p> * http: iaiai.iteye.com * </p> * <p> * create time: 2011-8-11 * </p> *  * @author 丸子 * @version 0.0.1 */public class tabswitcher extends linearlayout {	private context context;	private string[] texts;	private int selectedposition = 0;	private int oldposition = selectedposition;	private int[] background = { r.drawable.tabswitcher_short,			color.transparent };	private textview[] tvs;	public tabswitcher(context context, string[] texts) {		super(context);		this.texts = texts;		this.context = context;		setorientation(horizontal);		linearlayout.layoutparams params = new linearlayout.layoutparams(				linearlayout.layoutparams.fill_parent,				linearlayout.layoutparams.wrap_content);		setlayoutparams(params);		setbackgroundresource(r.drawable.tabswitcher_long);	}	@override	protected void onfinishinflate() {		// todo auto-generated method stub		super.onfinishinflate();		tvs = new textview[texts.length];		linearlayout.layoutparams params = new linearlayout.layoutparams(				linearlayout.layoutparams.fill_parent,				linearlayout.layoutparams.wrap_content);		params.weight = 1;		params.gravity = gravity.center_vertical;		for (int i = 0; i < texts.length; i++) {			textview child = new textview(context);			child.settag(i);			child.settextsize(16);			child.settextcolor(color.black);			child.setgravity(gravity.center);			tvs[i] = child;			child.setonclicklistener(listener);			this.addview(child, params);		}	}	onclicklistener listener = new onclicklistener() {		@override		public void onclick(view v) {			selectedposition = (integer) v.gettag();			if (selectedposition != oldposition) {				tvs[oldposition].setbackgroundcolor(background[1]);				oldposition = selectedposition;				((textview) v).setbackgroundresource(background[0]);				if (onitemclicklisener != null) {					onitemclicklisener.onitemclicklisener(v, selectedposition);				}			}		}	};	@override	protected void onsizechanged(int w, int h, int oldw, int oldh) {		super.onsizechanged(w, h, oldw, oldh);		oldposition = selectedposition;		for (int i = 0; i < texts.length; i++) {			tvs[i].settext(texts[i]);			if (selectedposition == i) {				tvs[i].setbackgroundresource(background[0]);			} else {				tvs[i].setbackgroundcolor(background[1]);			}		}	}	private onitemclicklisener onitemclicklisener;	public void setonitemclicklisener(onitemclicklisener onitemclicklisener) {		this.onitemclicklisener = onitemclicklisener;	}	public interface onitemclicklisener {		void onitemclicklisener(view view, int position);	}	public void settexts(string[] texts) {		this.texts = texts;	}	public void setselectedposition(int selectedposition) {		this.selectedposition = selectedposition;	}}
  


iaiaiactivity.java
    package com.iaiai.activity;import android.app.activity;import android.os.bundle;import android.view.view;import android.widget.linearlayout;import android.widget.toast;import com.iaiai.activity.tabswitcher.onitemclicklisener;/** *  * <p> * title: iaiaiactivity.java * </p> * <p> * e-mail: 176291935@qq.com * </p> * <p> * qq: 176291935 * </p> * <p> * http: iaiai.iteye.com * </p> * <p> * create time: 2011-8-11 * </p> *  * @author 丸子 * @version 0.0.1 */public class iaiaiactivity extends activity {	@override	public void oncreate(bundle savedinstancestate) {		super.oncreate(savedinstancestate);		setcontentview(r.layout.main);		tabswitcher tabswitcher = new tabswitcher(this, new string[] { "1",				"2", "3", "4" });		tabswitcher.setselectedposition(1);		tabswitcher.setonitemclicklisener(onitemclicklisener);		tabswitcher.onfinishinflate();				linearlayout linearlayout = (linearlayout) findviewbyid(r.id.tab);		linearlayout.addview(tabswitcher, new linearlayout.layoutparams(				linearlayout.layoutparams.fill_parent,				linearlayout.layoutparams.wrap_content));	}	onitemclicklisener onitemclicklisener = new onitemclicklisener() {		@override		public void onitemclicklisener(view view, int position) {			// todo auto-generated method stub			//			switch (position) {			case 0:			case 1:			case 2:				toast.maketext(iaiaiactivity.this,						"position clicked:" + position, toast.length_short)						.show();				break;			default:				break;			}		}	};}
  


tabswitcher_long.9.png:

tabswitcher_short.9.png:
?

Android TabSwitcher自定義控件


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 成人免费观看网欧美片 | 五月天精品 | aaa色| 色综合色狠狠天天久久婷婷基地 | 日日夜夜操天天干 | 在线视频中文字幕 | 免费香蕉依人在线视频久 | 久久久精品视频免费观看 | 日本精品久久久久久久 | 99国产精品高清一区二区二区 | 国产欧美精品一区二区三区-老狼 | 亚洲成人综合在线 | 日本一区二区日本免费 | 国产成人毛片精品不卡在线 | 亚洲一级成人 | 成人免费www在线高清观看 | 欧美亚洲综合在线 | 久久国产一久久高清 | 黄色网址在线免费 | 美女视频很黄很暴黄是免费的 | 欧美精品综合 | 日韩欧美一区二区三区四区 | 国产视频一区二区在线播放 | 欧美日韩一区二区亚洲 | 国产精品入口麻豆 | 中文字幕精品视频在线观 | 毛片机地 | 久久亚洲国产精品五月天 | 亚洲狠狠婷婷综合久久久久 | 欧美性生活一级 | 成年女人毛片免费播放视频m | 免费国产午夜在线观看 | 婷婷综合久久中文字幕一本 | 操操操综合网 | 亚洲成人www | 伊人日韩 | 极品欧美人体xxxxoo | 亚洲欧美久久精品1区2区 | 狠狠色丁香六月色 | 米奇久久 | 久久综合欧美 |