当前位置: 首页 > news >正文

html5 国内网站建设/网站加速

html5 国内网站建设,网站加速,丹阳官方网站建站,网站建设业动态UI系列教程第四课:微信TAB界面的实现 今天蓝老师给童鞋们带来的是微信TAB界面的实现 如效果图所示,这种TAB页面的效果是大多数应用都会涉及到的 思路一般就两种activitygrounpradionbutton或tabwidgetradionbutton Radionbutton定制性较强,所…

UI系列教程第四课:微信TAB界面的实现

今天蓝老师给童鞋们带来的是微信TAB界面的实现

如效果图所示,这种TAB页面的效果是大多数应用都会涉及到的

思路一般就两种activitygrounp+radionbuttontabwidget+radionbutton

Radionbutton定制性较强,所以推荐使用它们

而对于tab项效果其实就是topselector+backgroundselector+文字selector

这样效果基本就全了,废话不多说,直接上xml布局

<?xml version="1.0" encoding="utf-8"?>
<TabHost android:id="@android:id/tabhost" android:layout_width="fill_parent" android:layout_height="fill_parent"xmlns:android="http://schemas.android.com/apk/res/android"><LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"><FrameLayout android:id="@android:id/tabcontent" android:layout_width="fill_parent" android:layout_height="0.0dip" android:layout_weight="1.0" /><TabWidget android:id="@android:id/tabs" android:visibility="gone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="0.0" /><RadioGroup android:id="@+id/main_radiogroup"android:gravity="center_vertical"android:layout_gravity="bottom" android:orientation="horizontal"android:paddingBottom="2dip"android:paddingTop="8dp"android:background="@drawable/mmfooter_bg"android:layout_width="fill_parent" android:layout_height="wrap_content"><RadioButton android:id="@+id/main_tab_weixin" android:checked="true" android:text="@string/main_title" android:drawableTop="@drawable/tab_weixin"android:textColor="@color/tab_text"style="@style/MMTabButton" />	<RadioButton android:id="@+id/main_tab_address" android:text="@string/main_contact" android:drawableTop="@drawable/tab_address" android:textColor="@color/tab_text"style="@style/MMTabButton" /><RadioButton android:id="@+id/main_tab_find_friend" android:text="@string/main_addcontact" android:drawableTop="@drawable/tab_find_frd"android:textColor="@color/tab_text" style="@style/MMTabButton" /><RadioButton android:id="@+id/main_tab_settings" android:text="@string/main_setting" android:drawableTop="@drawable/tab_settings" android:textColor="@color/tab_text"style="@style/MMTabButton" /></RadioGroup></LinearLayout></TabHost>

本例采用tabwidget+radionbutton方式,布局里将TabWidget隐藏,用radiongrounp取而代之

radionbutton的配置

<RadioButton android:id="@+id/main_tab_weixin" android:checked="true" android:text="@string/main_title" android:drawableTop="@drawable/tab_weixin"android:textColor="@color/tab_text"style="@style/MMTabButton" />	

android:drawableTop="@drawable/tab_weixin"

Top图selector

<?xml version="1.0" encoding="utf-8"?>
<selectorxmlns:android="http://schemas.android.com/apk/res/android"><item android:state_enabled="true" android:state_checked="true" android:drawable="@drawable/tab_weixin_pressed" /><item android:drawable="@drawable/tab_weixin_normal" />
</selector>

android:textColor="@color/tab_text"

文字selector

<?xml version="1.0" encoding="utf-8" ?> 
<selector xmlns:android="http://schemas.android.com/apk/res/android"><item android:state_checked="true" android:color="@color/white"/><item android:color="#ff666666"/>   
</selector>


style="@style/MMTabButton"

Radionbutton风格,整体风格定制

    <style name="tab_item_text_style"><item name="android:textSize">12.0dip</item><item name="android:textColor">@color/tab_text</item><item name="android:ellipsize">marquee</item>       <item name="android:singleLine">true</item></style><style name="MMTabButton"><item name="android:textAppearance">@style/tab_item_text_style</item> <item name="android:gravity">center_horizontal</item><item name="android:background">@drawable/tab_bg</item><item name="android:layout_width">0.0dip</item><item name="android:layout_height">wrap_content</item><item name="android:button">@null</item><item name="android:layout_weight">1.0</item></style>

至此,效果全部实现...

再看activity的实现:

public class WeiXinTabActivity extends TabActivity {/** Called when the activity is first created. */private TabHost		m_tabHost;		private RadioGroup  m_radioGroup;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.main_tab);init();}private void init(){m_tabHost = getTabHost();int count = Constant.mTabClassArray.length;		for(int i = 0; i < count; i++){	TabSpec tabSpec = m_tabHost.newTabSpec(Constant.mTextviewArray[i]).setIndicator(Constant.mTextviewArray[i]).setContent(getTabItemIntent(i));m_tabHost.addTab(tabSpec);}m_radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup);m_radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {@Overridepublic void onCheckedChanged(RadioGroup group, int checkedId) {// TODO Auto-generated method stubswitch(checkedId){case R.id.main_tab_weixin:m_tabHost.setCurrentTabByTag(Constant.mTextviewArray[0]);break;case R.id.main_tab_address:m_tabHost.setCurrentTabByTag(Constant.mTextviewArray[1]);break;case R.id.main_tab_find_friend:m_tabHost.setCurrentTabByTag(Constant.mTextviewArray[2]);break;case R.id.main_tab_settings:m_tabHost.setCurrentTabByTag(Constant.mTextviewArray[3]);break;}}});((RadioButton) m_radioGroup.getChildAt(0)).toggle();}private Intent getTabItemIntent(int index){Intent intent = new Intent(this, Constant.mTabClassArray[index]);return intent;}
public class Constant {public static String mTextviewArray[] = {"微信", "通讯录", "朋友", "设置"};public static Class mTabClassArray[]= {Activity1.class,Activity2.class,Activity3.class,Activity4.class};
}

这样就将tabwidgetradionbutton无缝链接起来了,一目了然有木有~

附上链接工程:

http://download.csdn.net/detail/geniuseoe2012/4516524

欲知更多Android-UI技巧,请关注窝的下一堂课,更多精彩尽在http://blog.csdn.net/geniuseoe2012

http://www.lbrq.cn/news/972433.html

相关文章:

  • 做短视频的网站收益/百度浏览器下载官方免费
  • 做设计网站/白山seo
  • 网站开发前期准备/网上店铺的推广方法有哪些
  • 网站瀑布流滚动加载/华与华营销策划公司
  • 个人单页网站建设/重庆百度推广优化
  • 唐四薪 php动态网站开发/推广网站最有效办法
  • 国家新闻出版署期刊期刊社查询/西安企业网站seo
  • 容桂网站制作效率好/免费国外ddos网站
  • 网站制作完成后/地推拉新app推广接单平台免费
  • seo关键词排优化软件/提升关键词排名seo软件
  • 万载网站建设/seo怎么做推广
  • 无锡市城乡和住房建设局网站/谷歌关键词挖掘工具
  • 表白制作网站/站长工具推荐网站
  • c 网站开发面试题/关键词组合工具
  • 半导体网站建设/2022年关键词排名
  • 多少人用wordpress/网站优化关键词
  • 做婚恋网站多少钱/个人网站设计毕业论文
  • 网站pv是什么/深圳网络推广收费标准
  • 北京网页设计制作网站/seo职业技能培训班
  • 北京商场几点开门/长春seo代理
  • 世界建设企业网站/seo关键词优化举例
  • 上海营销型网站建设平台/沈阳百度推广排名优化
  • 如何做app 的模板下载网站/搜索引擎优化推广
  • 网站的后台是怎么做的/哪有恶意点击软件买的
  • 专业做中文网站/公众号怎么做文章推广
  • 青岛专业建设网站/西安seo包年服务
  • WordPress集成插件/淘宝优化标题都是用什么软件
  • 网站开发前端需要学什么/优化服务内容
  • 让孩子学编程真是害了孩子/合肥百度推广排名优化
  • 仿做赌博网站/太原网站推广公司
  • 读取ubuntu的磁盘分区表与超级块
  • 20250715给荣品RD-RK3588开发板刷Android14时打开USB鼠标
  • Dify的默认端口怎么修改
  • 进程探秘:从 PCB 到 fork 的核心原理之旅
  • 【安卓笔记】RxJava之flatMap的使用
  • 渭河SQL题库-- 来自渭河数据分析