http://blog.csdn.net/xieyihua1994/article/details/52586270

我们知道Activity本身是没有界面的。所以activity类创建了一个窗口,开发人员可以通过setContentView(View)接口把UI放到activity创建的窗口上。所以,我們控制窗口的大小,就可以控制界面的大小。

如何设置Activity的大小,让你的窗口看起来不再是全屏的。有些网友可能知道通过主题比如Theme.Dialog来实现,不过今天Android123告诉大家设置Activity不再全屏显示的原理。Android Theme也主要是通过定义Style来实现的,实现的原理大家可以直接看Android Framework中的定义,今天给一种更简单,但相对灵活的方法,比如不要Theme.Dialog中的边框,下面就一起来看下自定义Activity大小的实现方法。

1. 创建一个样式文件到你的工程,保存在在res/values/styles.xml,这里文件名不能随便修改,内容为,注意保存时使用UTF-8编码。

<?xml version="1.0" encoding="utf-8"?>
<resources>
        <style name="Theme.Android123" parent="android:style/Theme.Dialog">
        <item name="android:windowBackground">@drawable/bg</item>
 </style>
</resources>

2. 上面我们定义的主题风格为Theme.Android123,父风格仍然从Theme.Dialog实现,但我们自定义了背景,位置在drawable/bg中,这里我们创建一个bg.xml文件放到res/drawable文件夹中,bg.xml的内容为

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:Android="http://schemas.android.com/apk/res/android"> 
        <padding android:left="15dp" android:top="15dp" android:right="15dp" android:bottom="15dp" />
        <stroke android:width="3dip" color="#000000" />
        <corners android:radius="5dp" />
 <solid android:color="#ffffff" />      
</shape>

里面我们定义了一个shape对象,实现背景drawable形状,其中padding代表距离边框,这里我们设置了左、上、右、下四个位置的间距。stroke可以制造出一些3D立体效果,corners是四个角,radisu属性可以设置半径,值越大越圆滑,根据运行效果你可以微调,最后soild是填充颜色,这里我们用了ffffff表示纯白。

3. 最后在androidmanifest.xml中,在你的activity节点加一个 android:theme属性,值为@style/Theme.Android123 即可。

设置小窗口Activity的更多相关文章

  1. JS设置弹出小窗口。

    经常上网的朋友可能会到过这样一些网站,一进入首页立刻会弹出一个窗口,或者按一个连接或按钮弹出,通常在这个窗口里会显示一些注意事项.版权信息.警告.欢迎光顾之类的话或者作者想要特别提示的信息.其实制作这 ...

  2. 详解如何实现斗鱼、B站等全局悬浮窗直播小窗口

    最近业务需求需要我们直播返回或者退出直播间时,开一个小窗口在全局继续直播视频,先看效果图. 调研了一下当下主流直播平台,斗鱼.BiliBili等app,都是用WindowManger做的(这个你可以在 ...

  3. 黑马程序员_Java基础:多功能小窗口,swing,io,net综合应用

    ------- android培训.java培训.期待与您交流! ---------- 概念原理的理解,不代表能熟练应用. 如果将多个知识点关联并应用起来,这能加快我们对知识的掌握. 作为一个初学者, ...

  4. 设置windows窗口ICON 【windows 编程】【API】【原创】

    1. ICON介绍 最近开始接触windows 编程,因此将自己所接触的一些零散的知识进行整理并记录.本文主要介绍了如何更改windows对话框窗口的ICON图标.这里首先介绍一下windows IC ...

  5. IPTV小窗口播放视频 页面焦点无法移动的解决方法

    在IPTV高清页面中,小窗口播放视频时,在某些机顶盒上(如高清中兴.高清大亚4904)会出现焦点无法移动现象,即按键无响应.被这个bug困扰了很久,虽然我知道解决方法,但只知其然,不知其所以然.今天做 ...

  6. 老李推荐:第2章2节《MonkeyRunner源码剖析》了解你的测试对象: NotePad窗口Activity之NotesList简介

    老李推荐:第2章2节<MonkeyRunner源码剖析>了解你的测试对象: NotePad窗口Activity之NotesList简介   NotePad窗口Activity之NotesL ...

  7. 【转】Android应用程序窗口(Activity)窗口对象(Window)创建指南

    在前文中,我们分析了Android应用程序窗口的运行上下文环境的创建过程.由此可知,每一个Activity组件都有一个关联的ContextImpl对象,同时,它还关联有一个Window对象,用来描述一 ...

  8. 通过cmd修改注册表(设置cmd窗口的大小)

    通过cmd修改注册表(设置cmd窗口的大小) 设置cmd的窗口 mode: modem设置系统设备,主要是lpt1, com1/2, con:启动时设置窗口大小: cmd /k "mode ...

  9. Android Studio 恢复小窗口停靠模式(Docked Mode)

    安卓studio在使用小窗口时,如果我们点击取消了窗口的docked mode模式,窗口就会变成,你一旦触发窗口以外的区域,窗口就会龟缩回去.此时,如果你想要恢复回原来的docked mode的话,具 ...

随机推荐

  1. Jquery判断某个标签 Id是否存在

    query判断某个标签 Id是否存在, 如果是下面的 jQuery 代码判断一个对象是否存在,是不能用的 if($("#id")){}else{} 因为 $(“#id”) 不管对象 ...

  2. linux如何查看某个pid的进程?

    Linux通过PID查看进程完整信息 [root@gsidc-4q-saas23 ~]# netstat -anp|grep 8282tcp 0 0 :::8282 :::* LISTEN 16923 ...

  3. zookeeper报错Will not attempt to authenticate using SASL (unknown error)

    Will not attempt to authenticate using SASL (unknown error) 转自:http://blog.csdn.net/mo_xingwang/arti ...

  4. Maven的使用入门

    0.什么是maven? 它是一个软件开发管理工具,主要管理工作是:依赖管理,项目一键构建 1.我们为什么要使用maven? 使用maven构建的项目不包含jar包文件,所以整个项目的体积非常小 mav ...

  5. 160503、onunload、onbeforeunload事件详解

    最近项目中做到一个功能:在上传页面用户开始上传文件之后用户点击任意跳转都需要弹出提示层进行二次确定才允许他进行跳转,这样做的目的是为了防止用户的错误操作导致这珍贵的UGC 流失(通常用户在一次上传不成 ...

  6. px、dp、sp、mm、in、pt这些单位有什么区别?

    相信每个Android新手都会遇到这个问题,希望这篇帖子能让你不再纠结. px: 即像素,1px代表屏幕上一个物理的像素点: px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小 ...

  7. JUnit4 测试示例

    1. JUnit4 测试示例 // Calculator.java public class Calculator{ public int add(int a, int b){ return a + ...

  8. HDFS基本命令行操作及上传文件的简单API

    一.HDFS基本命令行操作: 1.HDFS集群修改SecondaryNameNode位置到hd09-2 (1)修改hdfs-site.xml <configuration> //配置元数据 ...

  9. CF #301 A :Combination Lock(简单循环)

    A :Combination Lock 题意就是有一个密码箱,密码是n位数,现在有一个当前箱子上显示密码A和正确密码B,求有A到B一共至少需要滚动几次: 简单循环:

  10. dos常用命令【总结】

    win7下有很多有用的dos命令,现在总结如下: 延伸:Linux常用命令[总结] 命令 作用 其他 ping 检查和另一台主机的连通性  ping  127.0.0.1   telnet 检查连通性 ...