Android仿新浪微博分页管理界面(3)
作者:DeMon辉 发布时间:2023-08-04 19:14:02
标签:Android,新浪微博,分页管理
本文实例为大家分享了Android仿新浪微博分页管理界面的具体代码,供大家参考,具体内容如下
多个activity分页管理,为了方便获取上下文,采用继承TabActivity的传统方法。
大致思路:使用RadioGroup点击触发不同的选卡项,选卡项绑定不同的activiity,进而进行分页管理。详解见注解。
/**
* 主Activity
* 通过点击RadioGroup下的RadioButton来切换不同界面
* Created by D&LL on 2016/7/20.
*/
public class MainActivity extends TabActivity {
//定义TabHost对象
private TabHost tabHost;
//定义RadioGroup对象
private RadioGroup radioGroup;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.tab_layout);
initView();
initData();
}
/**
* 初始化组件
*/
private void initView() {
//实例化TabHost,得到TabHost对象
tabHost = getTabHost();
//得到Activity的个数
int count = Constant.ConValue.mTabClassArray.length;
for (int i = 0; i < count; i++) {
//为每一个Tab按钮设置图标、文字和内容
TabSpec tabSpec = tabHost.newTabSpec(Constant.ConValue.mTextviewArray[i])
.setIndicator(Constant.ConValue.mTextviewArray[i]).setContent(getTabItemIntent(i));
//将Tab按钮添加进Tab选项卡中
tabHost.addTab(tabSpec);
}
//实例化RadioGroup
radioGroup = (RadioGroup) findViewById(R.id.main_radiogroup);
}
/**
* 初始化组件
*/
private void initData() {
// 给radioGroup设置监听事件
radioGroup.setOnCheckedChangeListener(new OnCheckedChangeListener() {
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.RadioButton0:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[0]);
break;
case R.id.RadioButton1:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[1]);
break;
case R.id.RadioButton2:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[2]);
break;
case R.id.RadioButton3:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[3]);
break;
case R.id.RadioButton4:
tabHost.setCurrentTabByTag(Constant.ConValue.mTextviewArray[4]);
break;
}
}
});
((RadioButton) radioGroup.getChildAt(0)).toggle();
}
/**
* 给Tab选项卡设置内容(每个内容都是一个Activity)
*/
private Intent getTabItemIntent(int index) {
Intent intent = new Intent(this, Constant.ConValue.mTabClassArray[index]);
return intent;
}
}
MainActivity布局文件tab_layout.xml. TabHost布局,添加一个TabWidget用于显示activity,下面是一个RadioGroup显示切换activity的按钮菜单。
<?xml version="1.0" encoding="utf-8"?>
<TabHost xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/tabhost"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
<FrameLayout
android:id="@android:id/tabcontent"
android:layout_width="fill_parent"
android:layout_height="0.0dip"
android:layout_weight="1.0"/>
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.0"
android:visibility="gone"/>
<RadioGroup
android:id="@+id/main_radiogroup"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom"
android:background="@drawable/tab_widget_background"
android:gravity="center_vertical"
android:orientation="horizontal"
android:padding="2dip">
<RadioButton
android:id="@+id/RadioButton0"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_home"
android:text="主页"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton1"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_msg"
android:text="评论"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton2"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_write"
android:text="发微博"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton3"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_me"
android:text="用户信息"
android:textColor="#ffffff"/>
<RadioButton
android:id="@+id/RadioButton4"
style="@style/tab_item_background"
android:drawableTop="@drawable/tab_more"
android:text="更多"
android:textColor="#ffffff"/>
</RadioGroup>
</LinearLayout>
</TabHost>
效果图:
来源:http://blog.csdn.net/demonliuhui/article/details/52076124


猜你喜欢
- 一.mybatis的配置1.1 添加相应的jar包在lib文件夹下面添加mybatis的核心jar包以及依赖的jar包同在lib文件夹下面加
- 正常情况下,我们是直接去string的length的,但是汉字是有两个字节的,所以直接用length是错的。如下图:所以应该用以下代码来获取
- <script>//验证身份证号方法var test=function(idcard){var Errors=new Array
- 1.通过用FTP进行上传文件,首先要实现建立FTP连接,一般建立FTP连接,需要知道FTP配置有关的信息。一般要在Bean中建立一个Serv
- Java二维数组Java 语言中提供的数组是用来存储固定大小的同类型元素。1.二维数组初始化和声明数组变量的声明,和创建数组可以用一条语句完
- 前言在使用Webview进行滑动操作时,从屏幕可见区域外向内滑动时,会出现webview区域闪烁的问题(反之也是),本文将提供一种解决方案。
- 一、算术运算符算术运算符的作用和在数学中的作用一样,主要的算术运算符有以下几种1、+加2、-减3、*乘4、/除5、%取余其中加、减、乘、除的
- WPF中有一个DrawingContext类,该类提供了很多画法方法,例如DrawLine,DrawText,DrawRectangle等。
- 一、简单介绍翻看Spring的源码时,发现@Bean注解的源码上标注了Since: 3.0,也就是说,@Bean注解是Spring从3.0版
- 概况本文主要给大家介绍了通过JDK源码学习InputStream的相关内容,JDK 给我们提供了很多实用的输入流 xxxInputStrea
- 自定义类:using System;using System.Collections.Generic;using System.Linq;u
- 以前使用spring的使用要注入property要配置PropertyPlaceholder的bean对象。在springboot除&nbs
- ssm mybatis配置多个mapper目录通配符配置比如目录的结构如下:com/test/web/user/mappercom/test
- 一、理解 Android 的 WindowWindow 表示一个窗口的概念,是一个抽象的概念,每一个 Window 都对应一个 View 和
- 一个让人赏心悦目的界面对软件来说非常重要,因此图形图像资源也显得非常重要。本讲就要谈一谈Android中处理图形图像的最重要的一个类Draw
- SpringBoot配置文件的替换使用spring.profiles.active在工作中,测试或上线的时候一定会遇到的问题就是修改配置。一
- 1.先在build.gradle(Module)下添加引用viewPager2的库implementation 'androidx.
- SpringMVC配置多个properties文件之通配符在springmvc中配置加载properties文件一般会在xml文件中配置如下
- 前言刚看到这个题目的朋友第一反应肯定是好奇,之后再细细思考下就会发现这个题目眼熟了。就算是同一个答案,如果提问的方式不同,往往会对回答造成干
- Android中的翻转动画效果的实现,首先看一下运行效果如上图所示. Android中并没有提供直接做3D翻转的动画,所以关于3D翻转的动画