- 浏览: 433733 次
- 性别:
- 来自: 苏州
文章分类
最新评论
-
yehuiyan8002:
支持中文查询
快熟查找联系人 -
lehehe:
现成的接口,免费试用,http://www.haoservic ...
天气Widget -
D.Z:
android:focusable="false&q ...
CheckBox在ListView 而导致其OnItemClickListener不会被触发 -
freecode:
碰到该问题,CheckBox的android:focusabl ...
CheckBox在ListView 而导致其OnItemClickListener不会被触发 -
echohfut:
哥们,新博客是不是在墙外啊?不能访问。还有你怎么进行博客迁移的 ...
博客 迁移
TabActivity - 自定义
其实 这篇感觉极鸡肋 但是 TabActivity 在标签页太多情况下 会导致界面比较难看 所以今天尝试自己扩展一下
[原理]
用2 LinearLayout 完成之 一个用于存放Image 另一用于显示具体布局
可能有人会说 干嘛不用Gallery组件 显示Image 这是因为Gallery显示特性比较固定 只能水平显示 或者是我不知道 有知道的 望告知
[代码 步骤]
1. 定义布局:main.xml 其中 shortcut显示图片索引 info显示选择id content显示布局内容
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <LinearLayout android:orientation="vertical" android:layout_width="50dip" android:layout_height="wrap_content" android:background="@drawable/dot" android:id="@+id/shortcut" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:id="@+id/info" /> </LinearLayout> <LinearLayout android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="wrap_content" android:paddingLeft="10dip" android:id="@+id/content" > </LinearLayout> </LinearLayout>
2. 定义List 用于存放各个标签布局
List<View> viewList;
3. View初始化
public void init(){ shortcutLinear = (LinearLayout)findViewById(R.id.shortcut); contentLinearLayout = (LinearLayout)findViewById(R.id.content); infoText = (TextView)findViewById(R.id.info); viewList = new ArrayList<View>(); inflatorHelper = this.getLayoutInflater(); }
4. 定义addTab() 用于接受图标索引 布局文件
public void addTab(int id,Drawable drawable,View view){ //1. to add ImageView into shortcut LinearLayout ImageView iv = new ImageView(this); iv.setImageDrawable(drawable); shortcutLinear.addView(iv, id); //2. to add View into List<View> viewList.add(id,view); } public void addTab(Drawable drawable,View view){ //1. to add ImageView into shortcut LinearLayout ImageView iv = new ImageView(this); iv.setImageDrawable(drawable); shortcutLinear.addView(iv); //2. to add View into List<View> viewList.add(view); }
5. 如何添加标签页
public void addExampleView(){ ImageView image = new ImageView(this); image.setImageResource(R.drawable.robot); addTab(this.getResources().getDrawable(R.drawable.icon),image); EditText edit = new EditText(this); edit.setWidth(100); addTab(1,this.getResources().getDrawable(R.drawable.hat),edit); TextView text = new TextView(this); text.setText("Hello ~ Text!"); addTab(this.getResources().getDrawable(R.drawable.wyj),text); View panel1 = inflatorHelper.inflate(R.layout.panel1, null); addTab(1,getResources().getDrawable(R.drawable.robot),panel1); }
6. 定义addClickListener() 用于注册LinearLasyout 所有ImageView
public void addClickListener(){ clickListener = new OnClickListener(){ @Override public void onClick(View v) { // TODO Auto-generated method stub int id = v.getId(); infoText.setText(" id:"+id); //to remove all ori View, and then add new View contentLinearLayout.removeAllViews(); if(id < viewList.size()){ contentLinearLayout.addView(viewList.get(id)); } } }; for(int i=1;i<shortcutLinear.getChildCount();i++){ ImageView iv = (ImageView)shortcutLinear.getChildAt(i); iv.setId(i); iv.setOnClickListener(clickListener); } }
7. panel1.xml 布局如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="name:" /> <EditText android:layout_width="200dip" android:layout_height="wrap_content" /> <Button android:layout_width="100dip" android:layout_height="wrap_content" android:text="OK" /> </LinearLayout>
8. emulator 运行截图:
- IndexPanelTest.rar (44.6 KB)
- 下载次数: 148
发表评论
-
滑动抽屉 另一种解决办法
2010-07-09 17:43 0滑动抽屉 -
Spinner 定制化 增强版
2010-07-09 14:34 2609Spinner 作为下拉选 ... -
ListView 内容之分批显示
2010-06-25 20:38 5925ListView 内容循环显示 大家试想 假如 ... -
MediaScanner 研究
2010-06-23 15:21 3170MediaScanner 之所以拿MediaSc ... -
CheckBox在ListView 而导致其OnItemClickListener不会被触发
2010-06-22 20:55 19015CheckBox在ListView 而导致其OnItemCli ... -
获取Launcher 启动列表
2010-06-22 10:09 3138获取Launcher 启动列表 即 列出所有Launc ... -
PreferenceActivity 全接触
2010-06-19 12:53 9440PreferenceActivity 为了引入 ... -
android src 下载 编译 安装 全接触
2010-06-12 14:44 0android src - download install ... -
Intent.createChooser() 妙用
2010-06-12 11:14 5955Intent.createChooser(ntent targ ... -
SMS管理:收信箱 发信息 编写新信息
2010-06-07 08:14 14445SMS管理 [功能] 1. 收信箱:显示 ... -
求 android 手机 帮忙测试sms服务系统 谢谢
2010-06-05 08:25 1452Hi guys, 最近一段时间没有更新blog 因为一 ... -
流媒体 播放 理论篇
2010-05-28 14:42 2224流媒体播放 之所以为理论篇 因为该篇仅实现了播放功能 ... -
NDK 搭建与HelloWorld
2010-05-19 09:48 3226NDK [前提] 1. Cygwin 用于安装 ... -
自定义字体
2010-05-15 10:49 1221自定义字体: []代码 步骤] 1 ... -
模糊查找 再深入
2010-05-15 09:41 3158模糊查找 再深入 应某位大哥要求 再次对 SQLite ... -
View 拖动&插入 研究
2010-05-09 07:14 3985View 拖动&插入 即: ... -
带图标 快捷键 Menu - 终极版
2010-05-04 20:23 1837Menu 改头换面 扩展如下: 1. 图标化文字 2 ... -
*.gif 解码 - 实践
2010-05-02 18:58 1737*.gif decode 前面已经说过 今天不打算再说了 ... -
*.gif 解码 - 理论
2010-05-01 21:11 1522我们知道Android 默认是不支持*.gif 的 但是 ... -
shortcut+livefolder
2010-04-19 13:08 1494shortcut+livefolder Live ...
相关推荐
- 通过测量`ViewGroup.MarginLayoutParams`的topMargin,可以获取StatusBar的高度,然后用于布局计算。 - 需要注意不同设备和Android版本的StatusBar高度可能不同。 5. **添加和管理通知** - 使用`...
1. **自定义View组件**:要模拟iPhone的bar,我们需要创建一个新的`View`类,继承自`ViewGroup`,这样可以容纳并管理多个子视图(快捷键)。这个自定义`View`将包含一个可滑动的区域,用于放置快捷方式图标。我们...
本案例中,我们采用自定义ViewGroup的方式,以获得更高的灵活性和自定义程度。 首先,我们需要创建一个新的布局文件,比如`top_bar.xml`,在此文件中定义TopBar的结构,包括标题和按钮等。可以使用LinearLayout或...
- **向下兼容**:通过自定义ViewGroup和使用反射技术,ActionBarSherlock使得Action Bar功能能在Android 2.1及以上的版本中运行。 - **样式和主题**:提供了丰富的样式和主题,允许开发者自定义Action Bar的颜色、...
- **StatusBar**: 状态栏,显示网络状态、电量、时间等基本信息,同时管理通知和下拉快捷设置。 - **NotificationPanel**: 通知面板,包含通知列表和快速设置区域,通过从顶部滑动显示。 - **QuickSettingsTile**...
在Android系统中,主界面下方通常有一排小按钮,被称为底部导航栏(Bottom Navigation Bar),它包含几个常用功能的快捷入口。"SlideD"项目是一个针对这个底部导航栏实现滑动效果的Android应用源码示例,适用于毕业...
9. **通知和悬浮窗**:在Android中,通知是向用户传达信息的重要方式,而悬浮窗则可以提供快捷操作。源码可能包含了如何创建和管理这两类元素。 10. **Material Design 设计规范**:项目可能遵循了Material Design ...
在Android应用开发中,操作栏(ActionBar)是用户界面中的一个重要组成部分,通常显示应用的logo...记住,良好的用户体验是设计的关键,隐藏Action Bar只是实现沉浸式UI的一种方式,应当根据项目的需求来权衡是否采用。
PopupWindow在Android开发中是一种非常实用的控件,它能够以弹出窗口的形式展示内容,通常用于实现一些快捷操作或临时交互。在这个应用实例中,我们主要探讨如何将PopupWindow设置为全屏显示,适配不同手机屏幕,...
在Android开发中,悬浮窗(通常称为Float Window或System Bar)是一种可以浮动在其他应用上方显示的窗口,常用于提供快捷操作或者实时信息展示。在Android 6.0(API Level 23)及更高版本中,由于权限管理的改变,...
1. **状态栏**:`StatusBar`类是状态栏的实现,处理网络连接、电池状态、时间等图标显示。源码会揭示如何处理触摸事件,如何显示和隐藏通知,以及如何与系统服务进行通信。 2. **通知中心**:`...