• 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 }

  • 相关阅读:
    一分钟应对勒索病毒WannaCry
    你不知道网络安全有多严峻
    MongoDB 文章目录
    SQL Server 文章目录
    MySQL 文章目录
    领域驱动(DD)目录
    Oracle基本教程
    系统架构研究目录
    设计原则目录
    开源项目学习历程
  • 原文地址:https://www.cnblogs.com/Free-Thinker/p/3663093.html
Copyright © 2020-2023  润新知