Android-android tab选项卡图片和文字水平布局怎么搞

Android-android tab选项卡图片和文字水平布局怎么搞

虐人心 发布于 2017-04-25 字数 166 浏览 1133 回复 2

tab上图片和旁边的文字是水平布局的

网上找到的都是一些垂直的,即文字在图片下面

如果你对这篇文章有疑问,欢迎到本站 社区 发帖提问或使用手Q扫描下方二维码加群参与讨论,获取更多帮助。

扫码加入群聊

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

瑾兮 2017-10-10 2 楼

代码里添加选项卡的布局,想怎么布局就怎么布局,例子:

TabWidget的定义:

<TabWidget android:id="@android:id/tabs"
android:orientation="horizontal"
android:layout_width="fill_parent"
android:layout_height="40dp">
</TabWidget>

tab_widget.xml:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="@drawable/bg_tabwidget_sel"><!--这是选项卡背景,你自己定义 -->

<TextView android:id="@+id/tab_label"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:drawableLeft="@drawable/tab_icon"<!--这个是你那个水平的图片 -->
android:gravity="center"
android:textSize="16sp"/>
</RelativeLayout>

代码里:
myTab1 = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.tab_widget, null);
myText1 =(TextView)myTab1.findViewById(R.id.tab_label);
myText1.setText(“选项卡1”);

myTab2 = (RelativeLayout) LayoutInflater.from(this).inflate(R.layout.tab_widget, null);
myText2 = (TextView) myTab2.findViewById(R.id.tab_label);
myText2.setText(“选项卡2”);

tabHost = (TabHost) findViewById(R.id.get_tabhost); // 获取TabHost对象
tabHost.setup();// 如果没有继承TabActivity时,通过该种方法加载启动tabHost

//设置Tab1

TabSpec tab1 = tabHost.newTabSpec("tab1");//设置Tab1
tab1.setIndicator(myTab1); // 设置tab1的名称
tab1.setContent(R.id.tab_layout1); // 关联FrameLayout里的控件
tabHost.addTab(tab1); // 添加tab1

浮生未歇 2017-05-02 1 楼

如果你这个图标是个View的话,可以像TextView这样使用
TextView tv = new TextView(this);
tv.setCompoundDrawablesWithIntrinsicBounds(left, top, right, bottom)
直接把图片放在文字的左、上、右、下位置。