先上图,在说话....
在做项目的时候,需要用到这个选项卡,刚开始看了系统的tabwidget,囧了,底边有黑线不说,还不美观,扒了好多的网页发现前辈做的能够满足自己的需求,将代码修改了下,就能用喽,伟人说过,站在前辈的肩膀上,我们能看的更远。不多少了,上源码...
tabwidget.xml
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android :id/tabhost"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
>
<RelativeLayout 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="wrap_content"
/>
<TabWidget android:id="@android :id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.0"
android:scaleType="center"
android:background="@drawable/tab_widget_background"
android:layout_alignParentBottom="true"
/> <!-- android:layout_height="45dp" -->
</RelativeLayout>
</TabHost>
tab_item_view.xml
<?xml version="1.0" encoding="UTF-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:gravity="center">
<ImageView
android:id="@+id/imageview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:padding="3dp"
android:focusable="false">
</ImageView>
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="@style/tab_item_text_style">
</TextView>
</LinearLayout>
Tabwidget.java
package jk.activity;
import android.app.TabActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.ImageView;
import android.widget.TabHost;
import android.widget.TextView;
import android.widget.TabHost.TabSpec;
public class TabWidget extends TabActivity{
private TabHost tab ;
private LayoutInflater layoutInflater ;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.tabwidget);
//System.out.println("211--------------");
init();
}
private void init(){
tab = getTabHost();
layoutInflater = LayoutInflater.from(this);
int count = Constant.ConValue.mTabClassArray.length;
//System.out.println("2--------------");
for(int i=0;i<5;i++){
System.out.println("2--------------");
TabSpec tabSpec = tab.newTabSpec(Constant.ConValue.mTextviewArray[i]).
setIndicator(getTabItemView(i)).
setContent(getTabItemIntent(i));
tab.addTab(tabSpec);
tab.getTabWidget().getChildAt(i).setBackgroundResource(R.drawable.selector_tab_background);
}
}
private View getTabItemView(int index){
//载入新的资源
View view = layoutInflater.inflate(R.layout.tab_item_view, null);
ImageView imageView = (ImageView)view.findViewById(R.id.imageview);
System.out.println("11---------"+index);
if (imageView != null)
{
//System.out.println(index);
imageView.setImageResource(Constant.ConValue.mImageViewArray[index]);
}
TextView textView = (TextView) view.findViewById(R.id.textview);
textView.setText(Constant.ConValue.mTextviewArray[index]);
return view;
}
private Intent getTabItemIntent(int index)
{
Intent intent = new Intent(this, Constant.ConValue.mTabClassArray[index]);
return intent;
}
}
希望这些对于新入行的童鞋们有帮助