TabHost.TabSpec中的标签实现图文左右排(默认上下排)

TabHost.TabSpec

代码如下:

 

Xml代码   收藏代码
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <FrameLayout android:id="@+id/settingTab"  
  3.     xmlns:android="http://schemas.android.com/apk/res/android"  
  4.     android:layout_width="fill_parent" android:layout_height="fill_parent">  
  5.     <LinearLayout android:id="@+id/scheduleSetting" android:layout_width="fill_parent" android:layout_height="fill_parent">  
  6.         <TextView android:id="@+id/tv01" android:layout_width="wrap_content"  
  7.             android:layout_height="wrap_content" android:text="@string/setting_schedule" />  
  8.     </LinearLayout>  
  9.   
  10.     <LinearLayout android:id="@+id/taskSetting" android:layout_width="fill_parent" android:layout_height="fill_parent">  
  11.         <TextView android:id="@+id/tv02" android:layout_width="wrap_content"  
  12.             android:layout_height="wrap_content" android:textSize="24dip"  
  13.             android:text="@string/setting_task" />  
  14.     </LinearLayout>  
  15. </FrameLayout>  

 

 

Activity:

Java代码   收藏代码
  1. public class SettingActivity extends TabActivity {  
  2.     private TabHost tab = null;  
  3.   
  4.     @Override  
  5.     public void onCreate(Bundle savedInstanceState) {  
  6.         super.onCreate(savedInstanceState);  
  7.   
  8.         tab = this.getTabHost();  
  9.         LayoutInflater.from(this).inflate(R.layout.setting,  
  10.                 tab.getTabContentView(), true);  
  11.   
  12.         tab.addTab(tab.newTabSpec("schedulTab").setIndicator(  
  13.                 getString(R.string.setting_schedule),  
  14.                 this.getResources().getDrawable(R.drawable.calendar))  
  15.                 .setContent(R.id.scheduleSetting));  
  16.         tab.addTab(tab.newTabSpec("taskTab").setIndicator(  
  17.                 getString(R.string.setting_task),  
  18.                 this.getResources().getDrawable(R.drawable.settings))  
  19.                 .setContent(R.id.taskSetting));  
  20.   
  21.         //下面设置icon和文字左右排;  
  22.         TabWidget tabWidget = tab.getTabWidget();  
  23.         for (int i = 0; i < tabWidget.getChildCount(); i++) {  
  24.             TextView tv = (TextView) tabWidget.getChildAt(i).findViewById(  
  25.                     android.R.id.title);  
  26.             ImageView iv = (ImageView) tabWidget.getChildAt(i).findViewById(  
  27.                     android.R.id.icon);  
  28.             iv.setPadding(10000);  
  29.             tv.setPadding(50000);  
  30.               
  31.   
  32.             RelativeLayout.LayoutParams paramsLeft = new RelativeLayout.LayoutParams(  
  33.                     RelativeLayout.LayoutParams.WRAP_CONTENT,  
  34.                     RelativeLayout.LayoutParams.WRAP_CONTENT);  
  35.             paramsLeft.addRule(RelativeLayout.ALIGN_RIGHT);  
  36.             paramsLeft.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);  
  37.             iv.setLayoutParams(paramsLeft);  
  38.               
  39.             RelativeLayout.LayoutParams paramsRight = new RelativeLayout.LayoutParams(  
  40.                     RelativeLayout.LayoutParams.WRAP_CONTENT,  
  41.                     RelativeLayout.LayoutParams.WRAP_CONTENT);  
  42.             paramsRight.addRule(RelativeLayout.ALIGN_RIGHT);  
  43.             paramsRight.addRule(RelativeLayout.CENTER_VERTICAL, RelativeLayout.TRUE);  
  44.             tv.setLayoutParams(paramsRight);  
  45.             tv.setTextColor(Color.BLACK);  
  46.         }  
  47.     }  
  48. }  

 

效果如下图:


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值