Java学习者论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

恭喜Java学习者论坛(https://www.javaxxz.com)已经为数万Java学习者服务超过8年了!积累会员资料超过10000G+
成为本站VIP会员,下载本站10000G+会员资源,购买链接:点击进入购买VIP会员
JAVA高级面试进阶视频教程Java架构师系统进阶VIP课程

分布式高可用全栈开发微服务教程

Go语言视频零基础入门到精通

Java架构师3期(课件+源码)

Java开发全终端实战租房项目视频教程

SpringBoot2.X入门到高级使用教程

大数据培训第六期全套视频教程

深度学习(CNN RNN GAN)算法原理

Java亿级流量电商系统视频教程

互联网架构师视频教程

年薪50万Spark2.0从入门到精通

年薪50万!人工智能学习路线教程

年薪50万!大数据从入门到精通学习路线年薪50万!机器学习入门到精通视频教程
仿小米商城类app和小程序视频教程深度学习数据分析基础到实战最新黑马javaEE2.1就业课程从 0到JVM实战高手教程 MySQL入门到精通教程
查看: 1090|回复: 0

二,android开发经典实例系列----TabHost、Gallery- &nbs

[复制链接]

该用户从未签到

发表于 2011-10-24 14:56:05 | 显示全部楼层 |阅读模式
1,TabHost
     提供 Tab 页的窗口视图容器,它有俩个 children,一组是用户可以选择指定 Tab 页 的标签,另一组是   FrameLayout 用来显示该 Tab 页的内容。个别元素通常控制使用这个 容器对象,而不是设置在子元素本身的值。
    常用方法:addTab(TabHost.TabSpec tabSpec):添加一项 Tab 页
                   clearAllTabs():清除所有与之相关联的 Tab 页.
                   getCurrentTab():返回当前 Tab 页.
                   getTabContentView():返回包含内容的 FrameLayout
                   newTabSpec(String tag):返回一个与之关联的新的 TabSpec
实例:

Xml代码


<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"

        android:layout_width="fill_parent"

        android:layout_height="fill_parent"

        android:background="@drawable/framebackground">

        <!-- 第一个Tab中得layout -->

        <LinearLayout android:id="@+id/frist_tab_linearlayout"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                androidrientation="vertical"

                >

                <TextView

                        android:layout_width="wrap_content"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:layout_marginTop="100dp"

                        android:text="@string/love"

                        android:textColor="#000000"

                        android:textSize="20sp"

                />

                <TextView

                        android:layout_width="220dp"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:paddingTop="17dp"

                        android:text="@string/love_text"

                        android:textColor="#000000"

                        android:textSize="15sp"

                />

        </LinearLayout>

        <!-- 第二个Tab中得layout -->

        <LinearLayout android:id="@+id/second_tab_linearlayout"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:orientation="vertical"

                >

                <TextView

                        android:layout_width="wrap_content"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:layout_marginTop="100dp"

                        android:text="@string/friendship"

                        android:textColor="#000000"

                        android:textSize="20sp"

                />

                <TextView

                        android:layout_width="220dp"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:paddingTop="17dp"

                        android:text="@string/friendship_text"

                        android:textColor="#000000"

                        android:textSize="15sp"

                />

        </LinearLayout>

        <!-- 第三个Tab中得layout -->

        <LinearLayout android:id="@+id/third_tab_linearlayout"

                android:layout_width="fill_parent"

                android:layout_height="fill_parent"

                android:orientation="vertical"

                >

                <TextView

                        android:layout_width="wrap_content"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:layout_marginTop="100dp"

                        android:text="@string/kinship"

                        android:textColor="#000000"

                        android:textSize="20sp"

                />

                <TextView

                        android:layout_width="220dp"

                        android:layout_height="wrap_content"

                        android:layout_gravity="center_horizontal"

                        android:gravity="center_vertical"

                        android:paddingTop="17dp"

                        android:text="@string/kinship_text"

                        android:textColor="#000000"

                        android:textSize="15sp"

                />

        </LinearLayout>

        

</FrameLayout>
复制代码



Xml代码
<?xml version="1.0" encoding="utf-8"?>

<menu

  xmlns:android="http://schemas.android.com/apk/res/android">

         <group

                 android:id="@+id/love_group">

                         <item

                                 android:id="@+id/love_item"

                                 android:icon="@drawable/aiqing"

                                 android:title="Love">

                         </item>

         </group>

</menu>
复制代码Xml代码
<?xml version="1.0" encoding="utf-8"?>

<menu

  xmlns:android="http://schemas.android.com/apk/res/android">

         <group

                 android:id="@+id/kinship_group">

                         <item

                                 android:id="@+id/kinship_item"

                                 android:icon="@drawable/qinqing"

                                 android:title="KinShip">

                         </item>

         </group>

</menu>
复制代码Xml代码
<?xml version="1.0" encoding="utf-8"?>

<menu

  xmlns:android="http://schemas.android.com/apk/res/android">

         <group

                 android:id="@+id/friendship_group">

                         <item

                                 android:id="@+id/friendship_item"

                                 android:icon="@drawable/youqing"

                                 android:title="FriendShip">

                         </item>

         </group>

</menu>
复制代码java代码
package net.csdn.blog.androidtoast;





import android.app.TabActivity;

import android.graphics.Color;

import android.os.Bundle;

import android.view.LayoutInflater;

import android.view.Menu;

import android.view.MenuInflater;

import android.widget.TabHost;



public class TabHostExampleActivity extends TabActivity {

        

        TabHost mTabHost;

        int mMenuTag=0;

        Menu mMenu;

        static final int mMenuResources[] = {

          R.layout.love_menu,

          R.layout.friendship_menu,

          R.layout.kinship_menu

          };

        

    /** Called when the activity is first created. */

        @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);

        

        //获取TabHost

        mTabHost=this.getTabHost();

        //过滤出TabHost布局

        LayoutInflater.from(this).inflate(R.layout.main, mTabHost.getTabContentView(), true);

        //为TabHost设置背景颜色

        mTabHost.setBackgroundColor(Color.argb(100, 30, 80, 160));

        

        //增加三个选型卡 并设置其图标及绘制布局

        mTabHost.addTab(mTabHost.newTabSpec("One")

                         .setIndicator("", getResources().getDrawable(R.drawable.aiqing))

                         .setContent(R.id.frist_tab_linearlayout));

        

        mTabHost.addTab(mTabHost.newTabSpec("Two")

                        .setIndicator("", getResources().getDrawable(R.drawable.youqing))

                        .setContent(R.id.second_tab_linearlayout));

        

        mTabHost.addTab(mTabHost.newTabSpec("Three")

                        .setIndicator("", getResources().getDrawable(R.drawable.qinqing))

                        .setContent(R.id.third_tab_linearlayout));

        

        //添加监听事件

        mTabHost.setOnTabChangedListener(new TabHost.OnTabChangeListener() {

                        

                        @Override

                        public void onTabChanged(String tabId) {

                                if (tabId.equals("One")) {

                                        mMenuTag = 1;

                                }

                                if (tabId.equals("Two")) {

                                        mMenuTag = 2;

                                }

                                if (tabId.equals("Three")) {

                                        mMenuTag = 3;

                                }

                                if (mMenu != null) {

                                        onCreateOptionsMenu(mMenu);

                                }

                        }

                });

        

        

    }



        //创建对应的菜单项

        @Override

        public boolean onCreateOptionsMenu(Menu menu) {

                mMenu = menu;

                mMenu.clear();

               

                //获取菜单过滤器

                MenuInflater inflater = getMenuInflater();        

      

                switch (mMenuTag) {

                case 1:

                        //动态加入数组中对应的menu.xml

                        inflater.inflate(mMenuResources[0], menu);

                        break;

                case 2:

                        inflater.inflate(mMenuResources[1], menu);

                        break;

                case 3:

                        inflater.inflate(mMenuResources[2], menu);

                        break;

                default:

                        inflater.inflate(mMenuResources[0], menu);

                        break;

                }

                return super.onCreateOptionsMenu(menu);

        }

}
复制代码









2,Gallery 画廊用于展示图片。常用于图片展示。效果很炫。以下是扩展了Gallery实现了3D效果。废话少说代码:

Xml代码


<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:orientation="vertical"

    android:layout_width="fill_parent"

    android:layout_height="fill_parent"

    android:background="@drawable/default_background"

    >



<net.csdn.blog.androidtoast.GalleryFlow

        android:id="@+id/pic_gallery"

        android:layout_width="fill_parent"

        android:layout_height="380dp"

        android:layout_centerInParent="true"/>

</RelativeLayout>
复制代码



由于JAVA代码太多 就不上传了。需要的下载看把 直接上效果图吧






Gallery3DExample.rar (953.14 KB, 下载次数: 144)

TabHostExample.rar (874.3 KB, 下载次数: 39)
回复

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:56:38 | 显示全部楼层

Re:二,android开发经典实例系

很好的demo,谢谢
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:56:41 | 显示全部楼层

Re:二,android开发经典实例系

强悍无比!!!
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:56:46 | 显示全部楼层

Re:二,android开发经典实例系

应该不错,学习
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:56:50 | 显示全部楼层

Re:二,android开发经典实例系

好东西,差点儿漏了
回复 支持 反对

使用道具 举报

该用户从未签到

发表于 2011-10-24 14:56:54 | 显示全部楼层

Re:二,android开发经典实例系

谢谢楼主分享~~楼主好人
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Java学习者论坛 ( 声明:本站资料整理自互联网,用于Java学习者交流学习使用,对资料版权不负任何法律责任,若有侵权请及时联系客服屏蔽删除 )

GMT+8, 2025-1-11 14:09 , Processed in 0.376469 second(s), 33 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表