zoukankan      html  css  js  c++  java
  • android自定义TabWidget

    在做项目的时候,需要用到这个选项卡,刚开始看了系统的tabwidget,囧了,底边有黑线不说,还不美观,扒了好多的网页发现前辈做的能够满足自己的需求,将代码修改了下,就能用喽,伟人说过,站在前辈的肩膀上,我们能看的更远。不多少了,上源码...

    tabwidget.xml

    <TabHost xmlns:android="http://schemas.android.com/apk/res/android"

    02     android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabhost"  

    03     android:layout_width="fill_parent" 

    04     android:layout_height="wrap_content" 

    05       

    06     > 

    07     <RelativeLayout android:orientation="vertical"

    08         android:layout_width="fill_parent"

    09         android:layout_height="fill_parent"

    10         > 

    11         <FrameLayout android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabcontent" 

    12             android:layout_width="fill_parent" 

    13             android:layout_height="wrap_content" 

    14               

    15             />   

    16         <TabWidget android:id="<A href="http://my.oschina.net/asia" rel=nofollow target=_blank>@android</A> :id/tabs" 

    17             android:layout_width="fill_parent" 

    18             android:layout_height="wrap_content" 

    19             android:layout_weight="0.0" 

    20             android:scaleType="center" 

    21             android:background="@drawable/tab_widget_background" 

    22             android:layout_alignParentBottom="true" 

    23             />

                    <!-- android:layout_height="45dp" -->

    24             

    25           

    26     </RelativeLayout> 

    27 </TabHost>

    tab_item_view.xml

    <?xml version="1.0" encoding="UTF-8"?> 

    02 <LinearLayout

    03   xmlns:android="http://schemas.android.com/apk/res/android"

    04   android:orientation="vertical"

    05   android:layout_width="wrap_content"

    06   android:layout_height="wrap_content"

    07   android:gravity="center"> 

    08     

    09       <ImageView

    10       android:id="@+id/imageview"

    11       android:layout_width="wrap_content"

    12       android:layout_height="wrap_content"

    13       android:padding="3dp"

    14       android:focusable="false"> 

    15       </ImageView> 

    16         

    17       <TextView

    18       android:id="@+id/textview"

    19       android:layout_width="wrap_content"

    20       android:layout_height="wrap_content"

    21       style="@style/tab_item_text_style"> 

    22       </TextView> 

    23   

    24 </LinearLayout>

    Tabwidget.java

    package jk.activity; 

    02   

    03   

    04   

    05 import android.app.TabActivity; 

    06 import android.content.Intent; 

    07   

    08 import android.os.Bundle; 

    09 import android.view.LayoutInflater; 

    10 import android.view.View; 

    11 import android.widget.ImageView; 

    12 import android.widget.TabHost; 

    13 import android.widget.TextView; 

    14 import android.widget.TabHost.TabSpec; 

    15   

    16   

    17 public class TabWidget extends TabActivity{ 

    18     private TabHost tab ; 

    19     private LayoutInflater layoutInflater ; 

    20     @Override

    21     protected void onCreate(Bundle savedInstanceState) { 

    22         // TODO Auto-generated method stub 

    23         super.onCreate(savedInstanceState); 

    24         setContentView(R.layout.tabwidget); 

    25         //System.out.println("211--------------"); 

    26         init(); 

    27           

    28     } 

    29       

    30     private void init(){ 

    31         tab = getTabHost(); 

    32         layoutInflater = LayoutInflater.from(this); 

    33         int count = Constant.ConValue.mTabClassArray.length; 

    34         //System.out.println("2--------------"); 

    35         for(int i=0;i<5;i++){ 

    36             System.out.println("2--------------"); 

    37             TabSpec tabSpec = tab.newTabSpec(Constant.ConValue.mTextviewArray[i]). 

    38             setIndicator(getTabItemView(i)). 

    39             setContent(getTabItemIntent(i)); 

    40             tab.addTab(tabSpec); 

    41               

    42             tab.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background); 

    43         } 

    44           

    45     } 

    46       

    47     private View getTabItemView(int index){ 

    48         //载入新的资源 

    49         View view = layoutInflater.inflate(R.layout.tab_item_view, null); 

    50         ImageView imageView = (ImageView)view.findViewById(R.id.imageview); 

    51         System.out.println("11---------"+index); 

    52         if (imageView != null) 

    53         { 

    54             //System.out.println(index); 

    55             imageView.setImageResource(Constant.ConValue.mImageViewArray[index]); 

    56         } 

    57         TextView textView = (TextView) view.findViewById(R.id.textview);         

    58         textView.setText(Constant.ConValue.mTextviewArray[index]);   

    59           

    60         return view; 

    61           

    62     } 

    63     private Intent getTabItemIntent(int index) 

    64     { 

    65         Intent intent = new Intent(this, Constant.ConValue.mTabClassArray[index]); 

    66           

    67         return intent; 

    68     } 

    69 }

  • 相关阅读:
    MySql cmd下的学习笔记 —— 引擎和事务(engine,transaction)
    MySql cmd下的学习笔记 —— 有关视图的操作(algorithm)
    MySql cmd下的学习笔记 —— 有关视图的操作(建立表)
    MySql cmd下的学习笔记 —— 有关常用函数的介绍(数学函数,聚合函数等等)
    MySql cmd下的学习笔记 —— 有关多表查询的操作(多表查询练习题及union操作)
    MySql 在cmd下的学习笔记 —— 有关多表查询的操作(内连接,外连接,交叉连接)
    MySql cmd下的学习笔记 —— 有关子查询的操作(where型,from型,exists型子查询)
    MySql cmd下的学习笔记 —— 有关select的操作(order by,limit)
    剑指Offer--第21题 调整数组顺序使奇数位于偶数前面;
    剑指Offer--和为s的连续正数序列
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3663093.html
Copyright © 2011-2022 走看看