`
abc20899
  • 浏览: 928488 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

设置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 即可。

分享到:
评论

相关推荐

    android弹出activity设置大小的方法

    如何设置Activity的大小,让你的窗口看起来不再是全屏的。有些网友可能知道通过主题比如Theme.Dialog来实现,不过告诉大家设置Activity不再全屏显示的原理。Android Theme也主要是通过定义Style来实现的,实现的原理...

    安卓动画效果相关-仿漂流瓶全屏与非全屏切换.rar

    1. **全屏与非全屏切换原理**:在安卓中,全屏和非全屏的切换主要是通过改变Activity的窗口属性来实现的。全屏模式下,通常隐藏状态栏和导航栏,使应用占据整个屏幕空间;非全屏模式则保留这些系统界面元素。这可以...

    android 动态全屏

    在给定的代码中,`setFullScreen()`方法用于将当前Activity窗口设置为全屏模式: ```java private void setFullScreen() { getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager....

    安卓Android源码——动画效果切换Activity动画 控件位置调整.zip

    在Activity切换过程中,scale动画可以用于放大或缩小Activity,比如模拟“推拉抽屉”效果,或者在打开新Activity时让其从一个点逐渐扩大至全屏。 3. **alpha动画**:Alpha动画是控制对象透明度变化的动画,通过调整...

    android全屏dialog

    // 设置全屏 getWindow().setLayout(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT); // 取消默认的标题 requestWindowFeature(Window.FEATURE_NO_TITLE); } } ``` 3. **设置...

    Android实现全屏截图或长截屏功能

    本文将详细介绍 Android 实现全屏截图或长截屏功能的方法和原理。 一. 全屏截图 全屏截图是指截取当前屏幕的所有内容,包括标题栏、状态栏和屏幕内容。实现全屏截图可以使用以下代码: ```java public static ...

    android9多窗口下载.doc

    6. `resizeDockedStack()`和`resizePinnedStack()`: 调整停靠和固定Stack的大小。 7. `resumeTopActivityInnerLocked()`: 恢复栈顶Activity。 8. `startActivityUnchecked()`: 启动Activity。 **生命周期管理** 在...

    知识共享-Android不让弹出键盘挡住View(雷惊风).

    这一过程涉及到了窗口的重新布局和大小调整,确保软键盘能够适当地显示在屏幕底部或全屏模式下。 #### 活动主窗口调整策略:`windowSoftInputMode`详解 为了更好地控制软键盘与应用界面之间的互动,Android提供了...

    android 软键盘弹出相关的坑之解决方法

    在非全屏模式下,软键盘弹出可能导致Activity布局被挤压。解决这一问题,可以使用`android:windowSoftInputMode="adjustPan"`属性。这会让输入框上方的布局向上滑动,以便在键盘出现时仍然可见。如果希望保持整个...

    Android定制控件:带图标有颜色TextView、可编辑文本框

    这个例子只是一个基础的起点,实际开发中,你可能还需要处理更多的细节,比如图标的大小调整、文本颜色的动态设置等。自定义控件是一个涉及Android图形绘制、触摸事件处理等多个方面的综合实践,通过不断学习和实践...

    使用Universal-Image-Loader加载系统图片并放大显示

    .discCacheSize(100 * 1024 * 1024) // 设置磁盘缓存大小 .build(); // 初始化ImageLoader ImageLoader.getInstance().init(config); ``` 现在,我们可以使用`ImageLoader`加载图片了。假设我们有一个ImageView...

    Android常见知识点总结

    通过在AndroidManifest.xml中为Activity设置theme属性,可以将其设置为不同的窗口样式,例如对话框、全屏模式等。 #### 24. 退出Activity和Application - **退出Activity**:通过finish()方法关闭当前Activity。 -...

    应用源码之VideoViewSample.zip

    VideoViewSample是Android开发者学习和理解VideoView工作原理的重要参考资料。本篇文章将详细探讨VideoViewSample源码中的关键知识点,帮助开发者深化对Android多媒体播放的理解。 1. **VideoView基础** VideoView...

    安卓Android源码——VideoViewSample.rar

    本文将深入探讨VideoViewSample源码,解析其工作原理,帮助开发者更好地理解和运用这一组件。 一、VideoView概述 VideoView是Android SDK中的一个视图类,它是基于SurfaceView实现的,可以直接播放视频文件或者...

    VideoViewDemo.zip

    - **MATCH_PARENT和WRAP_CONTENT**:VideoView的布局属性可设置为MATCH_PARENT(填满父容器)或WRAP_CONTENT(根据视频大小自动调整)。 - **宽高比**:使用`setAspectRatio()`保持视频的原始宽高比。 4. **监听...

    Android仿微信图片点击浏览的效果

    8. **布局和样式**:在布局文件中,我们需要设置`SmoothImageView`的大小和位置,以确保动画能够正确执行。此外,可能还需要考虑设备的横竖屏切换和不同屏幕尺寸的影响。 综上所述,实现“Android仿微信图片点击...

    视频播放器

    - `LayoutParams` 用于设置布局参数,例如在全屏模式下调整布局大小。 - `WindowManager.LayoutParams` 可能用于处理全屏切换时的窗口管理。 7. **其他组件**: - `PopupWindow` 可能用于创建弹出式菜单或提示...

    PopupWindowTest

    1. **非全屏显示**:PopupWindow不会占据整个屏幕,而是可以自定义大小和位置,这使得它在需要部分遮挡界面时非常有用。 2. **灵活性**:PopupWindow可以包含任何View,如TextView、Button、ListView等,可以根据...

    Android切换至SurfaceView时闪屏(黑屏闪一下)以及黑屏移动问题的解决方法

    通过理解SurfaceView的工作原理和正确处理其生命周期,可以有效地解决上述问题,提高用户体验。在实际开发中,遇到此类问题时,应该结合具体情况进行调试和优化,确保SurfaceView的顺畅使用。希望这些信息对你的...

    安卓Android源码——完整版视频播放器.zip

    9. **全屏模式**:视频播放器通常会提供全屏切换功能,这需要调整布局和视图大小,同时处理屏幕方向变化。 10. **音量与亮度控制**:播放器可能集成音量控制,允许用户调整设备的音量。同时,亮度控制也可以提供更...

Global site tag (gtag.js) - Google Analytics