涉及公司内部程序,部分地方进行模糊处理。

公司Android程序的一个子程序UI要进行改版,最初的UI添加按钮是在内容区,而且TabHost空间是正常的标题平均分布。如下图(其实这是改版的第一版,没有了添加按钮,但是还是标题还是平均分布。)

但是,后来改版后,“添加”按钮变成了这样:

这个界面上,首先,TabHost集中在左侧,然后“加号”按钮变到了右侧,而且第一和第二个Tab有按钮,第三个“设置”Tab没有加号。

由于是在原基础上改版,源程序也是原来的同事写的,所以就尽量小的改动源程序。所以在原来的自定义TabHost的基础上进行更改,如下:

[code lang="xml"]
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/main_background"
android:orientation="horizontal" >

<TabHost
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1" >

<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >

<TabWidget
android:layout_marginTop="0dp"
android:layout_marginLeft="0dp"
android:id="@android:id/tabs"
android:layout_width="wrap_content"
android:layout_height="68dip" />
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="7">
</FrameLayout>
</LinearLayout>
<!--在这里加一个Button -->
<Button
android:id="@+id/btn_add"
android:layout_width="40dip"
android:layout_height="40dip"
android:background="@drawable/jiahao"
android:layout_marginLeft="700dip"
android:layout_marginTop="15dip"/>
</TabHost>
</LinearLayout>
[/code]

在主Activity中更改onCtreate:

[java]
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_main);
mTabHost = getTabHost();
initbacklist(); //加载黑名单;
initwhitelist(); //加载白名单;
firewallset(); //加载设置界面
//设置没个标题的宽度,这样Tab标题就集中在了左侧
TabWidget tabget0 = mTabHost.getTabWidget();
tabget0.getChildAt(0).getLayoutParams().width = 178;
tabget0.getChildAt(1).getLayoutParams().width = 178;
tabget0.getChildAt(2).getLayoutParams().width = 178;
}
[/java]

这样就让Tab的标题集中在左边,右侧添加了一个公共的按钮。下一次介绍如何使用公共的按钮。

Android TabHost控件 右侧留空并增加按钮的更多相关文章

  1. android TabHost控件

    (一)TabHost控件,默认是在顶部显示的 TabHost是盛放Tab按钮和Tab内容的首要容器, TabWidget(tabs标签)用于选择页面,是指一组包含文本或图标的 ,FrameLayout ...

  2. Android 开源控件与常用开发框架开发工具类

    Android的加载动画AVLoadingIndicatorView 项目地址: https://github.com/81813780/AVLoadingIndicatorView 首先,在 bui ...

  3. 一个Demo让你掌握Android所有控件

    原文:一个Demo让你掌握Android所有控件 本文是转载收藏,侵删,出处:"安卓巴士"      下面给出实现各个组件的源代码: 1.下拉框实现--Spinner packag ...

  4. Android之控件使用

    Android系统为我们提供了大量的控件,例如:开关控件.单选按钮.多选按钮.单选菜单等等,那么这些控件如何使用呢?本篇我将带领大家一道学习一下如何使用这些控件.所谓无图无真相,先让大家看一下效果图: ...

  5. Android常用控件及对应Robotium API

    最近发现Android控件不熟悉,看Robotium的API都费劲. 常用Android控件: 控件类型 描述 相关类 Button 按钮,可以被用户按下或点击,以执行⼀个动作 Button Text ...

  6. android 基础控件(EditView、SeekBar等)的属性及使用方法

        android提供了大量的UI控件,本文将介绍TextView.ImageView.Button.EditView.ProgressBar.SeekBar.ScrollView.WebView ...

  7. Android基本控件之Menus

    在我们的手机中有很多样式的菜单,比如:我们的短信界面,每条短信,我们长按都会出现一个菜单,还有很多的种类.那么现在,我们就来详细的讨论一下安卓中的菜单 Android的控件中就有这么一个,叫做Menu ...

  8. Android:控件布局(相对布局)RelativeLayout

    RelativeLayout是相对布局控件:以控件之间相对位置或相对父容器位置进行排列. 相对布局常用属性: 子类控件相对子类控件:值是另外一个控件的id android:layout_above-- ...

  9. Android:控件布局(线性布局)LinearLayout

    LinearLayout是线性布局控件:要么横向排布,要么竖向排布 决定性属性:必须有的! android:orientation:vertical (垂直方向) .horizontal(水平方向) ...

随机推荐

  1. centos6.5 宽带连接

    Centos默认不会建立本地连接,至少在虚拟机里是这样,自己新建一个就行了:1.cd /etc/sysconfig/network-scripts/2.vi ifcfg-eth0 DEVICE=eth ...

  2. python笔记三:函数式编程

    1.概念: 函数式编程就是一种抽象程度很http://i.cnblogs.com/EditPosts.aspx?opt=1高的编程范式,纯粹的函数式编程语言编写的函数没有变量,因此,任意一个函数,只要 ...

  3. 【Bzoj3527】【Luogu3338】[Zjoi2014]力(FFT)

    题面 Bzoj Luogu 题解 先来颓柿子 $$ F_i=\sum_{j<i}\frac{q_iq_j}{(i-j)^2}-\sum_{j>i}\frac{q_iq_j}{(i-j)^2 ...

  4. Python开发基础-Day20继承实现原理、子类调用父类的方法、封装

    继承实现原理 python中的类可以同时继承多个父类,继承的顺序有两种:深度优先和广度优先. 一般来讲,经典类在多继承的情况下会按照深度优先的方式查找,新式类会按照广度优先的方式查找 示例解析: 没有 ...

  5. 提高sqlmap爆破效率

     提高sqlmap爆破效率 sqlmap在注入成功后,会尝试获取数据库和表的结构.对于MSSQL.MySQL.SQLite之类数据库,sqlmap可以通过系统数据库.系统数据表获取数据库和表的结构.但 ...

  6. 安卓 内存泄漏 MemoryAnalyzer

    韩梦飞沙 yue31313 韩亚飞 han_meng_fei_sha 313134555@qq.com 需要 获取 root 权限 步骤: 1,使用eclipse 自带的 DDMS 工具分析各线程的内 ...

  7. [LOJ2541]猎人杀

    好题== 先转化一下,每个人被杀死后给他打标记,以后随机杀人时选到有标记的人就继续随机,这样并不会改变每个人被杀死的概率 直接算很难算,考虑容斥,我们枚举$S$表示在$1$死后才死的人至少在集合$S$ ...

  8. Eden的退役记

    好久没更博客了, 这篇随笔不同于之前的学术性随笔.游记,只是来发泄一下自己的情感,回忆一下自己的OI经历…… 五年的OI生涯结束了 初一:懵懂的我刚接触了OI,被其功能吸引.由于运气好过了初赛,然而复 ...

  9. Erlang学习记录(三)——表达式大集合

    Erlang中的表达式必须以.结束才会去执行.如果不加.你在编译环境下按多少次Enter,表达式都不会执行,表达式之间可以用,分隔,以.结尾后所有的表达式都会执行,但是只有最后一个以.结尾的表达式会在 ...

  10. foreach循环时动态往数组里添加数据

    今天在用TP做项目的时候遇到一个问题,foreach的时候需要动态往数组里添加数据,示例代码如下: $arr = array( array('id'=>'字符串1','name'=>'字符 ...