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. AndroidStudio gradle配置

    自2013年5月16日,在I/O大会上,谷歌推出新的Android开发环境——Android Studio,并对开发者控制台进行了改进,增加了五个新的功能, google就已经彻底放弃eclipse ...

  2. 通过Servlet获取初始化参数

    获取初始化参数在web.xml中配置Servlet时,可以配置一些初始化参数.而在Servlet中可以通过ServletConfig接口提供的方法来获取这些参数.(其实还可以通过ServletCont ...

  3. jqGrid排序的两种实现方式

    实现方案一客户端实现排序: jqGrid属性 loadonce:true时,所有数据加载在客户端,点击列标题由jqGrid在客户端自动排序,不再从服务器取值. 参考文件:ccMxCxTjCc.js j ...

  4. WEB安全番外第四篇--关于SQL盲注

    一.SQL盲注: 看不到回显的,无法从返回直接读取到数据库内容的对数据的猜解,属于盲注. 二.第一种--基于布尔类型的盲注: 这种很简单,最典型的例子,就是挖SQL注入的时候常用的: ''' http ...

  5. Android ListView的监听事件

    Android开发时,最常用的控件之一就是ListView了,而使用ListView的同时,必然需要对它设置监听器,常用的监听器有这么几个1.OnItemClickListener 2.OnTouch ...

  6. Django--20170905--笔记

    一.django的安装 1.先安装python 2.再安装django:pip install django 3.使用虚拟环境:pip install virtualenv 二.项目的创建 1.可以先 ...

  7. Codeforces Round #425 (Div. 2))——A题&&B题&&D题

    A. Sasha and Sticks 题目链接:http://codeforces.com/contest/832/problem/A 题目意思:n个棍,双方每次取k个,取得多次数的人获胜,Sash ...

  8. Netty 应用程序的一个一般准则:尽可能的重用 EventLoop,以减少线程创建所带来的开销。

    Netty 系列一(核心组件和实例). - JMCui - 博客园 https://www.cnblogs.com/jmcui/p/9154842.html 阅读目录 一.概念 二.核心组件 三.实例 ...

  9. __destruct()析构函数的执行时刻 __construct()构造函数传入参数 构造函数与后台登录安全

    <?php class test_construct_avg { function __construct($input = '') { $this->input = $input; } ...

  10. Power Strings----poj2406(kmp扩展 循环节)

    题目链接:http://poj.org/problem?id=2406 题意:就是求串s能够最多由多少个相同的串a串联而成: 例如 ababab 由3个ab串联而成: abababa 只能由1个aba ...