android tabHost布局之一 继承TabActivity并以activity布局

android tabHost布局之一 继承TabActivity并以activity布局
android tabHost布局之一 继承TabActivity并以activity布局

android tabHost布局之一继承TabActivity并以activity布局

分类:android_布局2011-02-25 11:58 1333人阅读评论(1) 收藏举报

先查看下最终效果图:

再看下代码结构:

其中black.gif顾名思义就是一个黑背景图片,grey.gif就是一张灰色的背景图片

然后直接上代码:

ArtistActivity.java

+ expand sourceview plaincopy to clipboardprint?

1. p ackage https://www.360docs.net/doc/4018892419.html,.tagview;

2.

3. i mport android.app.Activity;

4. i mport android.os.Bundle;

5. i mport android.widget.TextView;

6.

7. p ublic class ArtistActivity extends Activity {

8.

9. @Override

10. protected void onCreate(Bundle savedInstanceState) {

11. super.onCreate(savedInstanceState);

12. TextView textView = new TextView(this);

13. // 该文档将会作为标签的内容进行显示

14. textView.setText("艺术内容");

15. setContentView(textView);

16.

17. }

18. }

1. p ackage https://www.360docs.net/doc/4018892419.html,.tagview;

2.

3. i mport android.app.Activity;

4. i mport android.os.Bundle;

5. i mport android.widget.TextView;

6.

7. p ublic class MusicActivity extends Activity {

8.

9. @Override

10. protected void onCreate(Bundle savedInstanceState) {

11. super.onCreate(savedInstanceState);

12. TextView textView = new TextView(this);

13. // 该文档将会作为标签的内容进行显示

14. textView.setText("音乐内容");

15. setContentView(textView);

16. }

17. }

1. p ackage https://www.360docs.net/doc/4018892419.html,.tagview;

2.

3. i mport android.app.Activity;

4. i mport android.os.Bundle;

5. i mport android.widget.TextView;

6.

7. p ublic class SportActivity extends Activity {

8.

9. @Override

10. protected void onCreate(Bundle savedInstanceState) {

11. super.onCreate(savedInstanceState);

12. TextView textView = new TextView(this);

13. // 该文档将会作为标签的内容进行显示

14. textView.setText("运动内容");

15. setContentView(textView);

16.

17. }

18. }

1.

2.

3. xmlns:android="https://www.360docs.net/doc/4018892419.html,/apk/res/android"

4. >

5.

6. android:state_selected="true"

7. >

8.

9.

10. >

11.

1. p ackage https://www.360docs.net/doc/4018892419.html,.tagview;

2.

3. i mport android.app.TabActivity;

4. i mport android.content.Intent;

5. i mport android.content.res.Resources;

6. i mport android.os.Bundle;

7. i mport android.widget.TabHost;

8.

9. /**

10. * @author chenzheng_Java

11. * @description 注意,该类一定要继承TabActivity

12. */

13. public class TagView extends TabActivity {

14. @Override

15. public void onCreate(Bundle savedInstanceState) {

16. super.onCreate(savedInstanceState);

17. // setContentView(https://www.360docs.net/doc/4018892419.html,yout.main);

18. // android代码中访问application资源的一个类

19. Resources resources = getResources();

20. // 获取当前activity的标签,该方法的实现中已经执行了

setContentView(https://www.360docs.net/doc/4018892419.html,yout.tab_content);

21. TabHost tabHost = getTabHost();

22. // 每一个标签项

23. TabHost.TabSpec spec;

24.

25. // 声明一个意图,该意图告诉我们,下一个跳转到的activity是

ArtistActivity。

26. Intent intent = new Intent(this, ArtistActivity.class);

27. /**

28. * tabHost.newTabSpec("artist")创建一个标签项,其中artist为它的标签标

识符,相当于jsp页面标签的name属性

29. * setIndicator("艺术标签",resources.getDrawable(R.drawable.ic_tab))设

置标签显示文本以及标签上的图标(该图标并不是一个图片,而是一个xml文件哦)

30. * setContent(intent)为当前标签指定一个意图

31. * tabHost.addTab(spec); 将标签项添加到标签中

32. */

33. spec = tabHost.newTabSpec("artist").setIndicator("艺术标签",

34. resources.getDrawable(R.drawable.ic_tab)).setContent(intent);

35. tabHost.addTab(spec);

36.

37. Intent intent2 = new Intent(this, MusicActivity.class);

38. spec = tabHost.newTabSpec("music").setIndicator("音乐标签",

39. resources.getDrawable(R.drawable.ic_tab)).setContent(intent2);

40. tabHost.addTab(spec);

41.

42. Intent intent3 = new Intent(this, SportActivity.class);

43. spec = tabHost.newTabSpec("sport").setIndicator("体育标签",

44. resources.getDrawable(R.drawable.ic_tab)).setContent(intent3);

45. tabHost.addTab(spec);

46.

47. // tabHost.setCurrentTabByTag("music");设置第一次打开时默认显示的标

签,该参数与tabHost.newTabSpec("music")的参数相同

48. tabHost.setCurrentTab(1);//设置第一次打开时默认显示的标签,参数代表

其添加到标签中的顺序,位置是从0开始的哦。

49.

50. }

51. }

1.

2.

3. package="https://www.360docs.net/doc/4018892419.html,.tagview"

4. android:versionCode="1"

5. android:versionName="1.0">

6.

7.

8.

9.

10.

11. android:label="@string/app_name"

12. android:theme="@android:style/Theme.NoTitleBar"

13. >

14.

15.

16.

17.

18.

19.

22.

23.

24.

25.

26.

27.

Android布局属性大全

Android布局属性大全 布局: AbsoluteLayout(绝对布局): xmlns:android="https://www.360docs.net/doc/4018892419.html,/apk/res/android" style="@..." android:clipChildren="true|false" android:clipToPadding="true|false" android:layoutAnimation="@---" android:animationCache="true|false" android:persistentDrawingCache="none|animation|scrolling|all":持续高速缓存绘图 android:alwaysDrawnWithCache="true|false" android:andStatesFromChildre="true|false" android:descendantFocusability="beforeDescendants|afterDescendants|bl ocksDescendants":后裔可聚焦 android:id="@+id/absoluteLayout" android:tag="@---" android:android:scrollX="---" android:android:scrollY="---" android:background="@---" android:padding="----" android:paddingLeft="----" android:paddingTop="----" android:paddingRight="----" android:paddingBotton="---" android:focusable="true|false" android:focusableInTouchMode="true|false" android:visibility="visible|invisible|gone" android:fitsSystemWindows="true|false":适合系统窗口 android:scrollbars="none|horizontal|vertical" android:scrollbarStyle="insideOverlay(内覆盖)|insideInset(内插 图)|outsideOverlay(外覆盖)|outsideInset(外插图)" android:isScrollContainer="true|false":是一个滚动集合 android:fadeScrollbars="true|false":褪色的滚动条 android:scrollbarFadeDuration="---":卷轴淡出 android:scrollDefaultDelayBeforeFade="---":滚动前默认延迟 android:scrollbarSize="---" android:scrollbarThumbHorizontal="@----":拇指水平滚动条 android:scrollbarThumbVertical="@----":拇指垂直滚动条 android:scrollbarTrackVertical="@---":垂直滚动条轨道 android:scrollbarTrackHorizontal="@---":水平滚动条轨道 android:scrollbarAlwaysDrawHorizontalTrack="true|false":水平滚动条总是吸引轨道

android布局属性详解

RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout_alignLeft 本元素的左边缘和某元素的的左边缘对齐 android:layout_alignBottom 本元素的下边缘和某元素的的下边缘对齐 android:layout_alignRight 本元素的右边缘和某元素的的右边缘对齐 第三类:属性值为具体的像素值,如30dip,40px android:layout_marginBottom 离某元素底边缘的距离 android:layout_marginLeft 离某元素左边缘的距离 android:layout_marginRight 离某元素右边缘的距离 android:layout_marginTop 离某元素上边缘的距离 EditText的android:hint 设置EditText为空时输入框内的提示信息。 android:gravity android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.以button为例,android:gravity="right"则button上面的文字靠右 android:layout_gravity android:layout_gravity是用来设置该view相对与起父view 的位置.比如一个button 在

Android 开发之旅-view的几种布局方式及实践

Android 开发之旅:view的几种布局方式及实践 https://www.360docs.net/doc/4018892419.html,/1943397/363552 2010-06-06 14:14:00 标签:布局 View 实践移动开发 Android 原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处、作者信息和本声明。否则将追究法律责任。 https://www.360docs.net/doc/4018892419.html,/1943397/363552 引言 通过前面两篇: 1.Android 开发之旅:又见Hello World! 2.Android 开发之旅:深入分析布局文件&又是“Hello World!” 我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!”程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种:线性布局(Linear Layout)、相对布局(Relative Layout)、表格布局(Table Layout)、网格视图(Grid View)、标签布局(Tab Layout)、列表视图(List View)、绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: 1.1、View布局概述 2.2、线性布局(Linear Layout) 1. 2.1、Tips:android:layout_weight="1" 3.3、相对布局(Relative Layout) 4.4、表格布局(Table Layout) 5.5、列表视图(List View) 1. 5.1、一个小的改进 2. 5.2、补充说明 6.6、网格视图(Grid View) 7.7 、绝对布局() 8.8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。Android中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View container)的基类,此类也定义了https://www.360docs.net/doc/4018892419.html,youtParams类,它作为布局参数的基类,此类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_something的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

Android七种布局解析

我们对Android应用程序运行原理及布局文件可谓有了比较深刻的认识和理解,并且用“Hello World!” 程序来实践证明了。在继续深入Android开发之旅之前,有必要解决前两篇中没有介绍的遗留问题:View 的几种布局显示方法,以后就不会在针对布局方面做过多的介绍。View的布局显示方式有下面几种: 线性布局(Linear Layout)、 相对布局(Relative Layout)、 表格布局(Table Layout)、 网格视图(Grid View)、 标签布局(Tab Layout)、 列表视图(List View)、 绝对布局(AbsoluteLayout)。本文虽然是介绍View的布局方式,但不仅仅是这样,其中涉及了很多小的知识点,绝对能给你带来Android大餐! 本文的主要内容就是分别介绍以上视图的七种布局显示方式效果及实现,大纲如下: ?1、View布局概述 ?2、线性布局(Linear Layout) o 2.1、Tips:android:layout_weight="1" ?3、相对布局(Relative Layout) ?4、表格布局(Table Layout) ?5、列表视图(List View) o 5.1、一个小的改进 o 5.2、补充说明 ?6、网格视图(Grid View) ?7 、绝对布局() ?8、标签布局(Tab Layout) 1、view的布局显示概述 通过前面的学习我们知道:在一个Android应用程序中,用户界面通过View和ViewGroup对象构建。A ndroid中有很多种View和ViewGroup,他们都继承自View类。View对象是Android平台上表示用户界面的基本单元。 View的布局显示方式直接影响用户界面,View的布局方式是指一组View元素如何布局,准确的说是一个ViewGroup中包含的一些View怎么样布局。ViewGroup类是布局(layout)和视图容器(View containe r)的基类,此类也定义了https://www.360docs.net/doc/4018892419.html,youtParams类,它作为布局参数的基类,此 类告诉父视图其中的子视图想如何显示。例如,XML布局文件中名为layout_so mething的属性(参加上篇的4.2节)。我们要介绍的View的布局方式的类,都是直接或间接继承自ViewGroup类,如下图所示:

Android_布局详解【图文】

Android 布局详解【图文】 Android 布局是开发中非常重要的一个知识部分,它的布局分为以下几种: Linear Layout:线性布局 Relative Layout:相对布局 Table Layout:表格布局 FrameLayout AbsoluteLayout Grid View:网格布局 Tab Layout:选项卡布局 List View:列表布局 一、Linear Layout 简单来说,直着排,横着排都可以,还可以嵌套,此布局运用的非常多。下面直接上示例代码及截图:

接下来,看一下布局XML文件: