framelayout

android FrameLayout详解

随声附和 提交于 2020-02-13 09:25:17
首先看演示: FrameLayout框架布局是最简单的布局形式。所有添加到这个布局中的视图都以层叠的方式显示。第一个添加的控件被放在最底层,最后一个添加到框架布局中的视图显示在最顶层,上一层的控件会覆盖下一层的控件。这种显示方式有些类似于堆栈。 当我们往里面添加组件的时候,所有的组件都会放置于这块区域的左上角; 帧布局的大小由子控件中最大的子控件决定,如果都组件都一样大的话,同一时刻就只能看到最上面的那个组件了。 1 layout_gravity FrameLayout根本无法控制他的子控件的位置,子控件可以通过android:layout_gravity属性来控制自己在父控件中的位置,从而制定组件的对其方式。 2 layout_margin FrameLayout布局里面的控件单独设置layout_margin类的属性没有效果。FrameLayout中的控件layout_margin设置要依赖layout_gravity属性,否则layout_margin设置无效。layout_gravity有好几个值可以设置,具体要设置哪一个呢?其实layout_gravity可以理解为设置控件的参考点,控件最终显示位置最终由layout_gravity和layout_margin共同决定。 如果想要控件正常显示,可以将控件的layout_gravity设置为top,以屏幕左上角为参考点。 3

Android开发从入门到精通 控制UI界面的方法

*爱你&永不变心* 提交于 2020-02-01 19:09:47
控制UI界面的方法 4种控制UI界面的方法 使用XML布局文件 Java代码 使用XML和Java代码混合 开发自定义的View 最推荐方法一。 使用XML布局文件控制UI界面 好处:把布局代码写在XML布局文件中,与逻辑结构的Java代码分离开 步骤: 在Android应用的res/layout的目录下编写XML布局文件,注意将activity_main的第二行RelativeLayout改写FrameLayout。 Framelayout框架布局,层叠式,有点像堆栈,先进在底层,会被后进的覆盖。 RelativeLayout相对布局,控件的位置通过各个控件之间的相对距离来确定。 GridLayout为网格布局管理器。 在Activity中使用Java代码显示XML文件中布局的内容 setContentView ( R . layout . activity_main ) ; //activity_main为布局文件的名称,注意不用写扩展名.xml。 在Java代码中控制UI界面 package com . mingrisoft ; import android . app . AlertDialog ; import android . content . DialogInterface ; import android . graphics . Color ; import

Python操作APP -- Appium-Python-Client

吃可爱长大的小学妹 提交于 2020-01-29 11:38:13
pip install Appium-Python-Client 使用Appium定位或者使用辅助定位工具 SDK安装目录/tools/bin,双击此辅助定位工具 from appium import webdriver # 配置信息 desired = { "platformName": "Android", "platformVersion": "5.1.1", "deviceName": "127.0.0.1:62026", "appPackage": "com.android.settings", "appActivity": ".Settings" } # 固定路径 driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', desired) # 获取屏幕宽高 width, height = driver.get_window_size().values() # 滚屏 耗时800ms driver.swipe(width * 0.5, height * 0.8, width * 0.5, height * 0.3, 800) # 定位元素 # ID # element = driver.find_element_by_id('com.android.settings:id/title') # xpath ele

Android View知识点面试题

岁酱吖の 提交于 2020-01-25 21:55:39
在面试之前,可能没有在互联网公司工作过或者说工作过但年头较短,不知道互联网公司技术面试都会问哪些问题? 再加上可能自己准备也不充分,去面试没几个回合就被面试官几个问题打蒙了,最后以惨败收场。下述是我整理的Android View知识点面试题汇总。 Android的Activity、PhoneWindow和DecorView的关系可以用下面的图表示: 1.DecorView浅析 例如,有下面一个视图,DecorView为整个Window界面的最顶层View,它只有一个子元素LinearLayout。代表整个Window界面,包含通知栏、标题栏、内容显示栏三块区域。其中LinearLayout中有两个FrameLayout子元素。 DecorView的作用 DecorView是顶级View,本质是一个FrameLayout它包含两部分,标题栏和内容栏,都是FrameLayout。内容栏id是content,也就是activity中设置setContentView的部分,最终将布局添加到id为content的FrameLayout中。 获取content:ViewGroup content=findViewById(android.id.content) 获取设置的View:getChildAt(0). 使用总结 每个Activity都包含一个Window对象

android笔记三---FrameLayout

牧云@^-^@ 提交于 2020-01-22 18:32:20
strings.xml <resources> <string name="app_name">FrameTest</string> <string name="hello_world">Hello world!</string> <string name="menu_settings">Settings</string> <string name="title_activity_main">MainActivity</string> <string name="big">big</string> <string name="small">small</string> <string name="middle">middle</string> </resources> colors.xml <?xml version="1.0" encoding="utf-8" ?> <resources> <color name="red">#6400FF00</color> <color name="green">#64FF0000</color> <color name="blue">#640000FF</color> <color name="white">#FFFFFF</color> <color name="black">#000000</color> </resources>

Android TabHost 实现Tab切换

為{幸葍}努か 提交于 2020-01-16 23:14:17
TabHost是整个Tab的容器,包含TabWidget和FrameLayout两个部分,TabWidget是每个Tab的表情(图标效果),FrameLayout是Tab内容 实现方式有两种: 1、继承TabActivity 2、继承Activity类 方法一:继承TabActivity 从TabActivity中用getTabHost()方法获取TabHost,然后设置标签内容 布局: 1、TabHost    必须设置android:id为@android:id/tabhost 2、TabWidget   必须设置android:id为@android:id/tabs 3、FrameLayout  必须设置android:id为@android:id/tabcontent 这几个都是系统自带id,最好是快捷键联想生成,不要手写,这样不容易出错 XML布局文件: 1 <TabHost xmlns:android="http://schemas.android.com/apk/res/android" 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:id="@android:id/tabhost" 5 > 6 7 <LinearLayout 8

Android布局管理器-使用FrameLayout帧布局管理器显示层叠的正方形以及前景照片

柔情痞子 提交于 2020-01-05 00:34:25
场景 Android布局管理器-使用LinearLayout实现简单的登录窗口布局: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103838995 帧布局管理器FrameLayout 实现效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 将activity_main.xml修改为FrameLayout 然后通过 android:foreground="@drawable/dog" 设置其前景照片,就是位于所有控件的最上方的照片。 其中照片是位于res/drawable下的dog.jpg 然后通过 android:foregroundGravity="right|bottom" 设置前景照片位置,多个位置使用|分割,这里是设置位于右边和下边。 然后依次设置不同大小的TextView以及不同的北京颜色,实现层叠效果。 完整代码如下 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:/

沉浸式和软键盘冲突

亡梦爱人 提交于 2020-01-02 18:20:32
问题:实现顶部状态栏沉浸式后,点击底部自定义的输入框,弹出软键盘后,输入框被遮挡 解决: import android.app.Activity; import android.graphics.Rect; import android.view.View; import android.view.ViewTreeObserver; import android.widget.FrameLayout; /** * Created by Administrator on 2016/11/21. */ public class ChenJingET { public static void assistActivity(Activity activity) { new ChenJingET(activity); } private View mChildOfContent; private int usableHeightPrevious; private FrameLayout.LayoutParams frameLayoutParams; private ChenJingET(Activity activity) { FrameLayout content = (FrameLayout) activity.findViewById(android.R.id.content);

Android 引导界面制作

て烟熏妆下的殇ゞ 提交于 2019-12-29 19:01:54
项目做完了,做了第一次启动,滑动的引导页了。 然后需求又要改成流行的图层图片引导了。如图: 大家一定也经常见吧,实现当然很简单了。FrameLayout上加一个图层就完了呗。让它点击后消失。  嗯,可是那么多界面,难道所有界面布局都要改吗?改成根元素上再套一层FrameLayout? 这里看过我 DecorView浅析 的童鞋,一定很来感觉。setContentView载入的布局的父元素不就是FrameLayout吗? 那么我们直接往它上面加引导图层不就可以了吗? Very good! 方法: 1. 只需要解决怎么找到那个Framelayout,我这里想到的办法是给每个xml布局的根元素设置一个id,通过findViewById找到咋们通过setContentView设置上布局, 再通过View的view.getParent();得到它的父元素。它的父元素不就是咋们的要的FrameLayout吗? 然后创建一个ImageView设置上引导图片加到FrameLayout就可以了。 由于有很多Activity,咋们当然要将这公共的事放在你们所有Activity的父类那里。我这里是BasicActivity。在onStart中调用了添加引导图片的方法。 2. 由于引导过的界面就没必要再次引导了。所以得保存记录。这里采用偏好设置保存,如果该Activity被引导过了,就将它的类全名保存下。

Android 布局

旧时模样 提交于 2019-12-25 01:21:18
转自:http://www.cnblogs.com/chiao/archive/2011/08/24/2152435.html Android布局是应用界面开发的重要一环,在Android中,共有五种布局方式,分别是:LinearLayout (线性布局),FrameLayout(框架布 局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),TableLayout(表格布局)。 在windows下有预览功能,可以在xml中查看布局的样式,在linux中无。 一、LinearLayout 线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一个LinearLayout里面又可分为垂直布局(android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。 linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。 线形布局中预览和真机中完全一样。 TextView占一定的空间,没有赋值也有一定的宽高,要特别注意