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

Android TabSwitcher自定義控件

系統 2296 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元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 久久久久久久国产免费看 | 天天爽影院一区二区在线影院 | 久久精品国产99久久 | 精品乱码一区二区三区四区 | 91手机在线视频观看 | 天天爱天天操 | 狠狠夜夜 | 五月婷婷色视频 | 久久九九99热这里只有精品 | 九月激情网 | 久久久久久a亚洲欧洲aⅴ | 久久综合一区二区 | 亚洲欧美日韩国产精品影院 | 亚洲va在线va天堂va手机 | 欧美成人在线免费 | 精品国产一区二区二三区在线观看 | 亚洲精品乱码国产精品乱码 | 精品午夜寂寞影院在线观看 | 亚洲人成在线精品不卡网 | 久久99国产乱子伦精品免 | 亚洲国产第一区二区香蕉 | 中文字幕三级久久久久久 | 粗大猛烈进出呻吟声的视频 | 国产成人精品日本亚洲网站 | 日韩精品一区二区三区在线观看 | 久久99爰这里有精品国产 | 天天色天天操天天射 | 目韩一区二区三区系列片丶 | 亚州综合激情另类久久久 | 亚洲一区中文字幕在线观看 | 成人久久 | 男人猛躁女人成人免费视频 | 国产成人99久久亚洲综合精品 | 亚洲高清国产一区二区三区 | 嫩模在线 | 成人美女黄网站色大色费 | 黄色免费看视频 | 色视频在线观看视频 | 欧美日韩亚 | 国产合集福利视频在线视频 | 精品一本久久中文字幕 |