Android开发中RelativeLayout相对布局 RelativeLayout布局是Android界面布局中应用最广也最强大的一种布局,其不仅十分灵活,可以解决开发中各种界面布局需求...在iOS开发中,Autolayout技术总是被赞不绝口,RelativeLayout布局就是Andriod系统中的Autolayout,其又被称为相对布局。 ...所谓相对布局,是指其坐标的确定并不是开发者写死的,而是有系统自动计算出来的,那么系统如何计算每个视图控件的位置呢?...第2类 平级视图之间相对位置关系的规则: 此类规则包括同级视图间对其关系,相对位置关系,例如A在B左侧20像素位置,B与C上边缘对齐等。...RelativeLayout布局中视图位置的配置主要使用其内部类LayoutParams,这个内部类LayoutParams是继承自MarginLayoutParams。
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。...你可以设置该text 相对于view的靠左,靠右等位置. android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该...即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。...下面回到正题, 我们可以通过设置android:gravity=”center”来让EditText中的文字在EditText组件中居中显示;同时我们设置EditText的android:layout_gravity...另外,要设置在RelativeLayout中的位置时使用addRule方法,如下: params = new RelativeLayout.LayoutParams(LayoutParams.WRAP_CONTENT
在我们平时的开发过程中,可以说图片展示是每个App必备的,所以我们会用到ImageView图片控件,对于每个Android开发者来说,这已经非常熟悉了,那有童鞋就会问了:这还有什么好讲的呢?...之前我也并没有在意这个属性的使用,以为只会在面试的时候才需要用到,事实是我错了,在最近的开发过程中,使用了大量的图片展示商品的图片,而且不同的模块,图片的展示还需要不一样,那么这个时候ScaleType...当我们设置ImageView的ScaleType属性时,开发工具中会弹出以下的选项让你选择: [ncb4i8yyr5.png] 首先我们设置ImageView控件填充整个屏幕: ImageView...[tk23tz7rn3.png] (2).当原图的size大于ImageView的size时,就按照比例缩小原图的宽高,居中显示在ImageView中....:scaleType=“fit_xy” 把图片按照指定的大小在ImageView中显示,拉伸显示图片,不保持原比例,填满ImageView
看一下实现效果吧: image.png 动画 我们先来看看Android中的动画吧: Android中的动画分为三种: Tween动画,这一类的动画提供了旋转、平移、缩放等效果。...100%,结束位置在0%,设置repeat属性为循环往复。...浮点数表示相对于Object的左边缘,如5; 百分比表示相对于Object的左边缘,如5%; 另一种百分比表示相对于父容器的左边缘,如5%p; 一般设置为50%表示在Object中心 android:...浮点数表示相对于Object的上边缘,如5; 百分比表示相对于Object的上边缘,如5%; 另一种百分比表示相对于父容器的上边缘,如5%p; 一般设置为50%表示在Object中心 android:...中设置 if (isRefreable) {//如果现在是可刷新状态 在setOnMeiTuanListener中设置为true switch
#城市和天气信息显示模块 3、天气信息的显示 这里相对麻烦一点,因为天气信息的显示中我们做了比较多的功能 获取背景图片和图片的更新 这里我使用的是必应主页提供的背景图片作为天气信息显示的背景图片http...3、在布局文件中加入ViewPager控件,并在程序给控件设置步骤2中的适配器。 4、给控件添加监听器。...2、在程序中定义并设置相应属性(样式等等)和监听器。 3、设置事件的相应响应和启动下拉刷新和结束下拉刷新。...通过点击右上角的编辑按钮进入城市管理功能 这里的实现就很基础了,简单讲一下步骤: 1、在布局文件定义按钮 2、在程序中找到按钮并设置监听器 3、在响应事件中做进入城市功能活动的逻辑 导航组件功能...4、选择是否要设置监听器。 有没有发现和ListView,ViewPager的实现步骤很相似呢。 布局圆角功能 布局圆角主要是为了让布局中的控件看起来美观一些。
在 Android开发之那些好用的数据结构与API 一文中提到了Android中一些好用的数据结构和API,这次继续补充几个我在项目中用到的好用的但是不是人人都知道的东东 ~~ 1、android...:digits 在Android开发中,经常要设置EditText为密码显示,但是通常要求密码只能是 **字母和数字 . _ **的组合,此时就可以用该属性进行过滤 使用场景是某个按钮特别小,为了设置点击事件,给其包裹一层Parent布局,将点击事件写到Parent上,如果希望被包裹按钮的点击效果对应的Selector继续生效的话,就可以使用它了,来个有说服力的测试案例...,点击相对布局,发现按钮并没有变化 ?...android:background="@drawable/selector" android:duplicateParentState="true" /> 再次运行测试,再次点击相对布局
) 当StatListDrawable资源作为组件的背景或者前景Drawable资源时,可以随着组件状态的变更而自动切换相对应的资源,例如,一个Button可以处于不同的状态(按钮按下、获取焦点) 我们可以使用一个...一个ShapeDrawable 需要一个Shape对象来管理呈现资源到UI Screen,如果没有Shape设置,那么会默认使用RectShape对象。...ShapeDrawable 被定义在一个XML文件中,以 元素起始。其内部的每一个Drawable资源内嵌在元素中 设置圆角矩形 --> android:radius="8dp" /> ClipDrawable(裁剪) ClipDrawable资源定义在一个XML中..." android:clipOrientation="horizontal" android:gravity="left" /> 下面的ImageView布局文件应用Clipdrawable资源:
其中颜色值可以直接在xml中输入,或者点击色块,在弹出窗口中进行选择或输入设置;(如文《资源准备1:颜色资源》中图) 资源准备4:styles样式资源 MyTheme表示样式的名称, android...ImageView.ScaleType设置图解 功能点1.快速构建启动页: 此时目录结构: ?...keyCode == KeyEvent.KEYCODE_BACK){ return false; } return false; } } 1.2 布局问价设置背景图片...其中颜色值可以直接在xml中输入,或者点击下图框中的色块,在弹出窗口中进行选择或输入设置: ? ? 资源准备2:尺寸资源 调用格式为@dimen/dp_0 ? 在包中添加PictureView、FunctionView、DrawView三个java文件用于描述自定义控件: ?
上滑 顶部背景图片缓慢消失,标题悬浮 在标题 上栏加入布局,放一些搜索框 输入框TextInputEditText的使用 1:上滑 顶部背景图片缓慢消失,标题悬浮 ?...1.1:CoordinatorLayout中设置 前面的添加依赖,在上一篇中已经说过,在这就不在重复了,协调者布局中这次又加入了一个新的布局CollapsingToolbarLayout(折叠工具栏布局...竟然折叠的部分是toolbar和背景图片,这就理所应当的把这两个空间写在CollapsingToolbarLayout中,因为上面协调者布局和appbar布局很简单,这里就不在写了,只贴出折叠布局代码(...中的使用基本和上一篇是一样的。...2.1:布局书写 这里的布局和上面是一样的,只是把imageview换成了LinearLayout布局,在该布局中写上我们熟悉的输入框和图片按钮即可, 最外层-->里层还是:CoordinatorLayout
targetSdkVersion在API 19之前应用仍将继续使用以前的行为,所有的闹钟在要求准确传递的情况下都会准确传递。...,而且这两种方法都可以设置精确的,第一个相对于第二种方法来说,应该是比较省电的。...解决遇到的坑 API 19以后如何设置重复闹钟 我们知道,我们在使用AlarmManager设置了提醒之后,是通过广播接收的,设置的提醒时间一到,系统发送我们自定义的广播,我们接收到,应用程序提醒。...那提醒的时候,我们可以再重新设置一次嘛,这就解决了API 19设置重复闹钟的问题。 根据判断系统版本,使用不同的设置闹钟的方法,进行设置。接下来我们通过广播接收系统发来的通知,进行闹钟提醒。...demo和类库地址:https://github.com/loonggg/Android-AlarmManagerClock
一:聊天小功能设计 我们现在要做一款,聊天冒泡小功能要达成的效果 ①点击按钮聊天框中自动添加设置好的内容 ②聊天框的尺寸大小跟随文本内容的大小而动态缩放 ③avatar随聊天框的移动而移动 1:xml代码...,每次点击按钮,我们就让TextView中的稳重追加设置好的字符串内容 3:效果 二:代码分析 1:margin和padding对比 (1)代码分析 android:layout_marginTop...所占空间为1/2=二分之一行,ImageView同理 下面这样设置,TextView为0,权重为1,意思就是把除了 Image的60dp宽度以外的所有位置占满;(米奇妙妙屋~~) <TextView...,就不准了;这样做也是为了统一计算基准 适配不同屏幕:在多屏幕适配场景下,设置 0dp 结合权重的方式,能更好地让布局根据屏幕可用空间灵活调整,按照比例分配空间,保证在不同尺寸、分辨率屏幕上布局的相对一致性...; 3:background设置背景图 了解一下即可——我们拿background要做的事情:背景图片和TextView做关联 4:textColor设置字体颜色 设置字体颜色——不熟悉——菜就多练 三
实现原理是使用android-support-v4.jar包中ViewPager控件,在ViewPager控件中设置流布局,再在流布局中设置几项TextView,给每一个TextView设置相关参数,事件等...static String ITEM_MANAGE = "管理"; // 菜单项计数器 public int count = 0; } 为了实现导航菜单上的左右图片,需要在main.xml布局文件中设置相对布局...main.xml中设置左右图片的相对布局代码: <RelativeLayout android:id="@+id/linearLayout01" android...的图片是为了在点击一项菜单后设置其背景图片,菜单中默认选中第一项“移动”。 ...另外,在本示例中我没有实现背景图片的平滑向右或是向左的动画效果,有兴趣的的朋友可以把这样的效果加上,网上有一些实现这样的效果示例。
外边距在锚点布局中的高级应用 4.1 外边距与锚点的关系 在RelativeContainer中,外边距会影响组件作为锚点时的实际位置: 外边距方向 对锚点的影响 top 向上扩展锚点边界 right...:根据内容或状态动态调整外边距,实现自适应布局 组合使用不同方向的外边距:同时设置不同方向的外边距,实现复杂的间距控制 与内边距(padding)配合使用:外边距控制组件间距,内边距控制内容与组件边界的距离...实际应用场景 外边距在RelativeContainer中的应用场景包括: 列表项布局:控制列表项之间的间距 表单元素排列:设置表单标签与输入框之间的间距 卡片布局:控制卡片内不同区域之间的间距 图文混排...总结 在RelativeContainer中巧妙运用外边距,可以实现更精确、更灵活的布局控制。...通过本教程的学习,你应该能够: 理解外边距在RelativeContainer中的特殊作用 掌握使用外边距影响锚点定位的技巧 灵活运用外边距创建均匀、美观的组件间距 在实际项目中结合锚点和外边距解决复杂布局问题
看一下实现效果吧: 动画 我们先来看看Android中的动画吧: Android中的动画分为三种: Tween动画,这一类的动画提供了旋转、平移、缩放等效果。...:(下载百度外卖的apk直接解压即可) 定义下拉刷新头文件:headview.xml 这里注意一下:我们定义了两张背景图片的ImageView是为了可以实现背景的平移动画效果。...100%,结束位置在0%,设置repeat属性为循环往复。...浮点数表示相对于Object的左边缘,如5; 百分比表示相对于Object的左边缘,如5%; 另一种百分比表示相对于父容器的左边缘,如5%p; 一般设置为50%表示在Object中心 android:pivotY...浮点数表示相对于Object的上边缘,如5; 百分比表示相对于Object的上边缘,如5%; 另一种百分比表示相对于父容器的上边缘,如5%p; 一般设置为50%表示在Object中心 android:duration
最近,公司开发的APP中要实现类似上滑解锁效果的推荐页,捣腾了两天,基本实现了效果,附效果图如上。接下来和大家聊聊如何实现这样的效果。...fx - mScroller.getFinalX(); int dy = fy - mScroller.getFinalY(); beginScroll(dx, dy); } //设置滚动的相对偏移...(color); } /** * 设置背景图片 * @param background */ public void setBackground(Drawable background) {...mContainer.setBackground(background); } /** * 设置背景图片资源id * @param resId */ public void setBackgroundResource...Scroller简单用法 Android学习Scroller(四)——实现拉动后回弹的布局 以上就是上滑解锁效果的所有内容,代码已上传Github,欢迎访问指导!
一方面,这可以给用户留下更深刻的使用体验,从而产生一定品牌效应;另一方面,也给应用的启动初始化留下了充裕的时间,避免因为启动时间过长而给用户留下不良的印象。因此,全屏显示在手机应用中得到了广泛的应用。...实现 方案一:给布局管理器设置背景图片。这种方案是通过设置android:background和NoActionBar主题来实现的。 1 中添加一个全屏的子视图ImageView。...="centerCrop"> 14 15 ImageView> 16 17 在Java代码中还是一样设置: 1 requestWindowFeature(Window.FEATURE_NO_TITLE...方案三、使用Java代码动态加载图片设置全屏背景。这种方案的原理是,根据显示屏幕的大小对图片进行缩放,从而对屏幕尺寸进行适配。
一:使用include复用布局 1:需求 提出问题:想用两种不同的背景片段,红色和蓝色;只在一个xml布局中写代码,重复率太高了,能不能解耦合 include应运而生 2:red和blue布局代码 <?...:textColor="@color/white" android:textSize="30sp" /> 3:使用方式 我们在新的一个布局中使用蓝色背景布局和一个带有...layout/activity_config_changes"/> 我们在Java代码里,可以通过关联的activity_include_layout布局,找到include包含布局中的控件 public...一:include和Fragment两者的核心区别 维度 include标签 Fragment 性质 静态布局复用 动态组件(含UI+逻辑+生命周期) 独立性 完全依赖宿主 相对独立 功能 仅用于UI复用...可包含复杂逻辑和交互 灵活性 编译期确定,无法动态修改 运行时可动态添加/替换 简单总结:include轻便,但是只能应付一些简单的场景;Fragment麻烦,但是扩展性更好; 在实际开发中,两者经常结合使用
我们从这些文件中拷贝需要的到自己的项目中,下面开始: ①、res 目录下 : raw文件夹 整个复制到个人项目相对位置 ②、res --> values目录下:ids.xml文件中的内容全部复制到个人项目相对位置...,个人项目没有则直接复制文件到相对位置 ③、res --> values目录下:colors.xml文件中的内容全部复制到个人项目的相对位置 ④、res --> layout目录下:camera.xml...布局文件复制到个人项目相对位置 ⑤、res --> drawable_mdpi 目录下:navbar.9.png图片复制到个人项目相对位置,这张图片是标题栏背景图片,这里建议先改成navbar.png...不要使用.9图片 ⑥、libs目录下:zxing.jar文件复制到个人项目相对位置,并且右键点击as library ⑦、src --> com目录下:zxing 文件夹复制到个人项目相对位置... initFromCameraParameters方法中, 在 Log.d(TAG, "Screen resolution: " + screenResolution);这句之后增加 Point screenResolutionForCamera
LinearLayout 线性布局 LinearLayout 几个重要的 XML 属性 xml 属性 说明 android:id 为组件设置一个资源 id,然后在 Java 中可以通过 ...findViewById(id) 找到该组件 android:background 为组件设置一个背景图片或者背景色 android:layout_width 布局的宽度,通常不直接写数字值...RelativeLayout 相对布局 重点:相对布局 (RelativeLayout) 以 父容器 或者 兄弟组件 参考+margin +padding 来设置组件的显示位置 1....:layout_centerHorizontal 在父容器中水平居中 android:layout_centerVertical 在父容器中垂直居中 android:layout_centerInParent...而使用 background 填入图片,则是会根据 ImageView 给定的宽度来进行 拉伸 设置缩小放大的大小 3.2 常用方法 @Override public void onClick
---- 公共的步骤: 布局文件中添加使用 Toolbar 控件(纯色 Toolbar 背景色为颜色,图片 Toolbar 样式设置背景色为图片或添加一个 ImageView 控件),在文件根布局与 Toolbar...中添加 android:fitsSystemWindows="true",这个很重要,可以使背景图片延伸至状态栏,当然在 Java 文件中设置一样的效果; <?...正常纯色 Toolbar 样式 纯色 Toolbar 在使用中一般会将顶部状态栏设置与 Toolbar 背景色一致; val window = window window.addFlags(...图片 Toolbar 样式,一般分两种:一种是设置 Toolbar 背景图 background;另一种是添加一个 ImageView 控件。...和尚我用的是作为 Toolbar 背景图 background 方式处理,使用 ImageView 控件时还需要单独处理图片,并有部分拉伸的可能。 图片作为布局背景沉浸样式 ?