- 浏览: 7339805 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (1546)
- 企业中间件 (236)
- 企业应用面临的问题 (236)
- 小布Oracle学习笔记汇总 (36)
- Spring 开发应用 (54)
- IBatis开发应用 (16)
- Oracle基础学习 (23)
- struts2.0 (41)
- JVM&ClassLoader&GC (16)
- JQuery的开发应用 (17)
- WebService的开发应用 (21)
- Java&Socket (44)
- 开源组件的应用 (254)
- 常用Javascript的开发应用 (28)
- J2EE开发技术指南 (163)
- EJB3开发应用 (11)
- GIS&Mobile&MAP (36)
- SWT-GEF-RCP (52)
- 算法&数据结构 (6)
- Apache开源组件研究 (62)
- Hibernate 学习应用 (57)
- java并发编程 (59)
- MySQL&Mongodb&MS/SQL (15)
- Oracle数据库实验室 (55)
- 搜索引擎的开发应用 (34)
- 软件工程师笔试经典 (14)
- 其他杂项 (10)
- AndroidPn& MQTT&C2DM&推技术 (29)
- ActiveMQ学习和研究 (38)
- Google技术应用开发和API分析 (11)
- flex的学习总结 (59)
- 项目中一点总结 (20)
- java疑惑 java面向对象编程 (28)
- Android 开发学习 (133)
- linux和UNIX的总结 (37)
- Titanium学习总结 (20)
- JQueryMobile学习总结 (34)
- Phonegap学习总结 (32)
- HTML5学习总结 (41)
- JeeCMS研究和理解分析 (9)
最新评论
-
lgh1992314:
[u][i][b][flash=200,200][url][i ...
看看mybatis 源代码 -
尼古拉斯.fwp:
图片根本就不出来好吧。。。。。。
Android文件图片上传的详细讲解(一)HTTP multipart/form-data 上传报文格式实现手机端上传 -
ln94223:
第一个应该用排它网关吧 怎么是并行网关, 并行网关是所有exe ...
工作流Activiti的学习总结(八)Activiti自动执行的应用 -
ZY199266:
获取不到任何消息信息,请问这是什么原因呢?
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息 -
xiaoyao霄:
DestinationSourceMonitor 报错 应该导 ...
ActiveMQ 通过JMX监控Connection,Queue,Topic的信息
自定义实现功能图片如下:
package com.easyway.titlebar; import android.app.Activity; import android.os.Bundle; import android.view.Window; /** * 自定义窗体标签的样式表格式的使用 * 1.设置window标题信息 * requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题 * setContentView(R.layout.main); * //设置窗体样式 * getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.title);//自定义布局赋值 * 2.在对应的Activity中添加相关的 android:theme="@style/test"管理对应的样式 * * <activity android:name=".MainActivity" * android:theme="@style/test"> * <intent-filter> * <action android:name="android.intent.action.MAIN" /> * <category android:name="android.intent.category.LAUNCHER" /> * </intent-filter> * </activity> * * @author longgangbai * */ public class AndroidTitleBarActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); requestWindowFeature(Window.FEATURE_CUSTOM_TITLE); //声明使用自定义标题 setContentView(R.layout.main); //设置窗体样式 getWindow().setFeatureInt( Window.FEATURE_CUSTOM_TITLE, //设置此样式为自定义样式 R.layout.title //设置对应的布局 );//自定义布局赋值 } }
strings.xml
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, AndroidTitleBarActivity!</string> <string name="app_name">AndroidTitleBar</string> <style name="CustomWindowTitleBackground"> <item name="android:background">@drawable/logo</item> </style> <style name="test" parent="android:Theme" mce_bogus="1"> <item name="android:windowTitleSize">40dp</item> <item name="android:windowTitleBackgroundStyle">@style/CustomWindowTitleBackground</item> </style> </resources>
title.xml
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent"> <ImageView android:layout_width="wrap_content" android:layout_centerVertical="true" android:layout_height="wrap_content" android:src="@drawable/qq" /> <TextView android:layout_width="wrap_content" android:layout_centerInParent="true" android:layout_height="wrap_content" android:text="自定义标题栏" /> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.easyway.titlebar" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="10" /> <application android:icon="@drawable/ic_launcher" android:label="@string/app_name" > <!-- 主题信息定义在values/strings.xml文件中 android:theme="@style/test" --> <activity android:label="@string/app_name" android:theme="@style/test" android:name=".AndroidTitleBarActivity" > <intent-filter > <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
android布局详解
布局就像容器,里面可以装下很多控件。布局里面还可以套用其他的布局。这样就可以实现界面的多样化以及设计的灵活性。
1、 LinearLayout布局: 线性版面配置,在这个标签中,所有元件都是按由上到下的排队排成的。
在这个界面中,我们应用了一个 LinearLayout的布局,它是垂直向下扩展的 ,所以创建的布局XML文件,以
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
节点作为开头。一个布局容器里可以包括0或多个布局容器。
解释一下LinearLayout中的标签:
(1)android:orientation="vertical" 表 示竖直方式对齐
(2)android:orientation="horizontal"表 示水平方式对齐
(3)android:layout_width="fill_parent"定 义当前视图在屏幕上 可以消费的宽 度,fill_parent即填充整个屏幕。
layout_weight默认值是零,用于给一个线性布局中的诸多视图的重要度赋值。比如说我们在 水平方向上有一个文本标签和两个文本编辑元素,该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间 ;如果两个文本编辑元素每一个的layout_weight值都设置为1, 则两者平分在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个文本编辑元素其中第一个的layout_weight值设置为1,而 第二个的设置为2,则剩余空间的三分之一分给第一个,三分之二分给第二个(正比划分)。
(4)android:layout_height="wrap_content": 随着文字栏位的不同 而 改变这个视图的宽度或者高度。有点自动设置框度或者高度的意思
2、 AbsoluteLayout可以让子元素指定准确的x/y坐标值,并显示在屏幕上。(0, 0)为左上角,当向下或向右移动时,坐标值将变大。AbsoluteLayout没有页边框,允许元素之间互相重叠(尽管不推荐)。我们通常不推荐使用 AbsoluteLayout,除非你有正当理由要使用它,因为它使界面代码太过刚性,以至于在不同的设备上可能不能很好地工作。
3、 RelativeLayout就是以相对的方式定位布局,允许子元素指定他们相对于其它元素或父元素的位置(通过ID指定)。因此如果第一个元素在屏幕的中央,那么相对于这个元素的其它元素将以屏幕中央的相对位置来排列。如果使用XML 来指定这个layout,在你定义它之前,被关联的元素必须定义。
相对布局的属性比较多,但用起来比较灵活。
这是很常见的布局内容,讲解如下:
将当前控件放置于id为label 的控件下方。
使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。
使当前控件左边空出相应的空间。
使当前控件置于id为ok的控件的左边。
使当前控件与id控件的上端对齐。
效果如下:
至此,我们已经发现,其属性之繁多。下面简单归纳一下:
第一类:属性值为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
第三类:属性值为具体的像素值,如30dip,40px
*android:layout_marginBottom
*android:layout_marginLeft
*android:layout_marginRight
*android:layout_marginTop
4、 FrameLayout是最简单的一个布局对象。是一个框架布局样式,可以用include标签载入定义的另一个layout文件,所有的子元素将会固定在屏幕的左上角;你不能为FrameLayout中的一个子元素指定一个位置。后一个子元素将会直接在前 一个子元素之上进行覆盖填充,把它们部份或全部挡住(除非后一个子元素是透明的)。
progressbarlayout.xml内容如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressbarlayout"
android:visibility="gone">
<ProgressBar
android:layout_gravity="center_vertical"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
style="?android:attr/progressBarStyleSmall"
>
</ProgressBar>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="5.0dip"
android:text="loading..."
>
</TextView>
</LinearLayout>
可以在myframelayout.xml中将上面的文件include进来,内容如下:
<?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">
<LinearLayout
android:orientation="vertical"
android:visibility="gone"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
</LinearLayout>
<include
android:visibility="visible"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
layout="@layout/progressbarlayout"
></include>
</FrameLayout>
主程序:
package test.toshiba;
import android.app.Activity;
import android.os.Bundle;
public class FrameLayoutTest extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.myframelayout);
}
}
运行结果如下图:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:id="@+id/label" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Type here:"/> <EditText android:id="@+id/entry" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="@android:drawable/editbox_background" android:layout_below="@id/label"/> <Button android:id="@+id/ok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/entry" android:layout_alignParentRight="true" android:layout_marginLeft="10dip" android:text="OK" /> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_toLeftOf="@id/ok" android:layout_alignTop="@id/ok" android:text="Cancel" /> </RelativeLayout>
android:layout_below="@id/label"/>
android:layout_alignParentRight="true"
android:layout_marginLeft="10dip"
android:layout_toLeftOf="@id/ok"
android:layout_alignTop="@id/ok"
- AndroidTitleBar.rar (57.4 KB)
- 下载次数: 100
发表评论
-
[转]年度最实用50款免费Android应用推荐
2012-11-08 16:39 3377据国外媒体报道,有人说Android应用市场比iPhone应用 ... -
GIS的学习(四十五)【转】Integration of the MBTiles format on Android
2012-10-22 17:13 2945转载自 http:/ ... -
GIS的学习(四十四)osmdroid sdcard检查
2012-10-15 16:12 2339在许多应用中使用到sdcard的检查,在osmdro ... -
GIS的学习(四十三)osmdroid基于几个经典代理类
2012-10-15 16:06 2630在osmdroid中给基于位置的代理类如下: pack ... -
Android中PopupWindow的用法(位置、动画、焦点)
2012-10-12 14:12 11521在Android中有很多级别的Window,不同级别的Wind ... -
【转】Android根据分辨率进行单位转换-(dp,sp转像素px)
2012-10-11 09:18 27133Android系统中,默认的单位是像素(px)。也就是说,在没 ... -
GIS的学习(二十九)Osmdroid 离线地图存放位置的研究和详细分析
2012-09-23 11:49 11539在手机通过osmdroid调用离线地图必须放在 ... -
GIS的学习(二十八)Osmdroid相关的开源项目
2012-09-23 11:31 25428osm 数据格式(openstreet map)与Ro ... -
GIS的学习(二十七)通过geoserver的georss访问第三方地图
2012-09-23 00:34 3601在geoserver中如果想调用第三方地图可以采 ... -
android中使用 定时更新界面定时器Timer的使用
2012-09-22 22:09 25521handler的使用 一、Handler的定义: ... -
【转】Android应用程序的自动更新升级(自身升级、通过tomcat) .
2012-09-16 15:03 7363http://blog.csdn.net/mu0206mu/a ... -
GIS的学习(二十七)OGC 的WCS WFS 及WMS 服务
2012-09-11 22:22 12120http://www.gisall.com/?6678/v ... -
GIS的学习(二十六)geotools 使用 部分代码总结
2012-09-11 22:20 5729前段时间的一个项目 本来用ae完成了种种的 查询,空间分析等等 ... -
GIS的学习(二十五)geoserver wms中的各种操作API详细讲解和使用
2012-09-10 17:42 9709官方geoserver中WMS服务中几种操作的API的详细说明 ... -
GIS的学习(二十四)android异步调用geoserver wms中的地图
2012-09-10 17:38 8165在geoserver的客户端通过wms的GetMap实现 ... -
GIS的学习(二十三)geoserver中CQL和ECQL的使用
2012-09-10 16:29 6631以下引用自官方文档: CQL and ECQL¶ CQ ... -
GIS的学习(二十二)osmdroid中添加縮放控件
2012-09-06 23:09 2787package com.geoserver.osmdroid; ... -
GIS的学习(二十一)在osmdroid 地图中添加marker 并添加事件
2012-09-06 22:27 6625我有 osmdroid,overlayswithf ... -
GIS的学习(二十)基于Geoserver的WFS服务与Openlayers实现地理查询
2012-08-30 18:48 11408基于Geoserver发布的wfs服务,与Openlayers ... -
GIS的学习(十九)Geoserver使用添加,删除,查询地图中的POI
2012-08-30 17:28 10354在geoserver自定义的地图中通过geoserver ...
相关推荐
其中`requestWindowFeature`用于请求自定义标题栏特性,`setContentView`加载主布局,`setFeatureInt`则用于设置具体的自定义标题栏布局。 #### 半透明与全透明效果 Android也提供了内置的主题样式来实现透明效果...
- `FEATURE_CUSTOM_TITLE`:允许自定义标题栏。 - `FEATURE_SWIPE_TO_DISMISS`:在横屏模式下,允许用户通过滑动来关闭Activity。 正确使用`requestWindowFeature()` 的关键是时机,它必须在调用`setContentView()`...
- 设置`Caption`为空字符串,隐藏标题栏。 - 设置`AlphaBlend`为`True`,启用透明效果。 - 设置`AlphaBlendValue`为适当的值(0-255),控制透明度。0完全透明,255完全不透明。 2. **窗体定位**: - 为了使...
在Android中,获取标题栏或状态栏的高度对于自定义布局或沉浸式体验很有用。此工具类可能包含一个静态方法,用于计算并返回顶部状态栏的高度,通常通过测量布局或者查询系统资源得到。 3. **android 判断网络状态*...
在 Android 5.0 和 6.0 中,开发者可以通过自定义主题来改变状态栏、标题栏和导航栏的颜色,这一功能极大地增强了应用的美观度与个性化。 ##### 1.1 创建相应的样式文件 为了自定义这些颜色,首先需要创建一个样式...
颜色渐变不仅限于背景,还可以应用于按钮、图标、标题栏等各种界面元素。 在编程中实现窗体颜色渐变,通常有以下几种方式: 1. **图形库和框架支持**:许多图形库和用户界面框架如Qt、WPF、JavaFX、Android的...
2. **android 获取标题栏状态栏高度**:在自定义布局时,有时需要知道标题栏和状态栏的高度,以便进行精确的界面排版。可以通过`Activity`的`getWindow().getDecorView()`获取根视图,然后测量其顶部到内容区域的...
- **自定义标题栏和边框**:在窗口化游戏时,可能需要隐藏或自定义标题栏和边框,以提供更沉浸式的体验。这可以通过修改窗体样式(如 `Form.StyleServices.EnableVisualStyles`)和覆盖 `Paint` 事件来完成。 - **...
- **2.8 ActionBar**:位于屏幕顶部的应用栏,用于显示应用图标、标题等信息,并提供导航和其他功能。 #### 四、Activity和Fragment **3.1 应用程序的生命周期** 应用程序的生命周期包括启动、运行、暂停、停止和...
a) 页面结构:由标题栏、内容块和底部导航组成,每个显示的窗体被视为一个独立的页面。 b) 动画效果:基于CSS的@-webkit-keyframes实现动画效果,如淡入淡出。jQuery代码用于添加和移除相应的CSS类,控制页面的显示...
开发者可以自定义窗口的边框和非客户区,以去除标准的标题栏和菜单,从而实现悬浮窗的外观。 对于悬浮窗的可拖动性,Delphi7允许开发者通过响应鼠标消息来实现。当用户按下鼠标并移动时,程序会捕获这些消息,计算...
这包括设置窗口的属性,如大小、位置、标题以及添加菜单栏和工具栏。你还会了解到信号与槽机制,这是Qt事件处理的核心,用于连接UI元素的动作和响应函数。此外,窗体布局(QLayout)管理也是重点,它允许自适应地...
Tab控件的基本结构通常包括一个可滚动的标题栏,显示每个选项卡的标签,以及与这些标签对应的多个内容面板。当用户点击某个选项卡时,相应的内容面板会被展示,而其他面板则被隐藏。这种设计有助于保持界面整洁,...
- **菜单栏组件**:菜单栏由`TRectangle`(背景)、`Text`(标题)和`Button`(按钮事件)组成。 - **按钮事件**:通过`MasterButton`绑定特定按钮,点击后显示相关的菜单。 - **显示模式**:使用`Mode`属性控制显示...
4. **绘制不规则窗体**:Qt也支持创建和绘制不规则形状的窗体。 #### 第十一章 多线程 1. **创建线程方式**:Qt支持两种方式创建线程,通过继承QThread类或使用QRunnable类。 2. **线程的同步**:多线程编程中,...