android布局

【Android布局】在程序中设置android:gravity 和 android:layo...

走远了吗. 提交于 2019-12-03 04:09:09
在进行UI布局的时候,可能经常会用到 android:gravity 和 android:layout_Gravity 这两个属性。 关于这两个属性的区别,网上已经有很多人进行了说明,这边再简单说一下。 (资料来自网络) LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity。 他们的区别在于: android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置. android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置. 即android:gravity用于设置View中内容相对于View组件的对齐方式,而android:layout_gravity用于设置View组件相对于Container的对齐方式。 原理跟android:paddingLeft、android:layout_marginLeft有点类似。如果在按钮上同时设置这两个属性。 android:paddingLeft="30px" 按钮上设置的内容离按钮左边边界30个像素 android

CoordinatorLayout布局的使用方式

﹥>﹥吖頭↗ 提交于 2019-12-03 02:27:46
作为Android的控件, CoordinatorLayout已经加入最新的HelloWorld项目中, 也是Material风格的重要组件, 协调(Coordinate)其他组件, 实现联动. 那么让我们来看看这个动画效果怎么用吧? 本文源码的GitHub 下载地址 联动效果 1. 准备 首先新建HelloWorld项目. 在项目的build.gradle文件中, 引入头像控件库和CardView库, 在本例中会使用. compile 'de.hdodenhof:circleimageview:1.3.0' compile 'com.android.support:cardview-v7:23.1.0' compile 'com.jakewharton:butterknife:7.0.1' 2. 页面 在 activity_main.xml 中, 保留CoordinatorLayout和AppBarLayout, 重新编写页面. android:fitsSystemWindows="true" 这句也需要去掉, 本例需要保留最上面的状态栏(status bar), 这个属性会导致重叠, 默认false. activity_main.xml代码 <android.support.design.widget.CoordinatorLayout xmlns:android="http:

【鼠】安卓学习杂记(六)――Android帧布局FrameLayout

匿名 (未验证) 提交于 2019-12-03 00:39:02
一、帧布局概述 类似PS中的图层的概念,最后的控件放在最上面,可设置前景(颜色或图片)以及前景的位置。 二、重要属性 1、设置前景:android:foreground="此处填写颜色值或图片资源地址" 2、设置前景位置:android:foregroundGravity="此处填写方向" 3、设置控件相对于父布局的位置:android:layout_gravity="此处填写方向" 文章来源: 【鼠】安卓学习杂记(六)――Android帧布局FrameLayout

Android性能优化之布局优化

匿名 (未验证) 提交于 2019-12-03 00:34:01
Android性能优化之布局优化 一、Android系统是如何处理UI组件的更新操作的   既然和布局相关,那么我们需要了解Android系统是如何处理UI组件的更新操作的。   1、Android需要把XML布局文件转换成GPU能够识别并绘制的对象。这个操作是在DisplayList的帮助下完成的。DisplayList持有所有将要交给GPU绘制到屏幕上的数据信息。   2、CPU负责把UI组件计算成Polygons,Texture纹理,然后交给GPU进行栅格化渲染。   3、GPU进行栅格化渲染。   4、硬件展示在屏幕上。    那么什么是栅格化呢?Resterization栅格化是绘制那些Button,Shape,Path,String,Bitmap等组件最基础的操作,它把那些组件拆分到不同的像素上进行显示,如上图所示,手机的屏幕其实都是有一个一个小格子组成的图片,而当这些小格子非常非常小的时候,。这是一个很费时的操作,因此这也是为什么要引入GPU原因。   每次从CPU转移到GPU是一件很麻烦的事情,所幸的是OpenGL ES可以把那些需要渲染的文理Hold在GPU的Memory里面,在下次需要渲染的时候直接进行操作。 Android里面那些由主题所提供的资源,例如Bitmap,Drawables都是一起打包到统一的Texture文理当中, 然后再传递到GPU里面

Android中Activity布局及其加载

匿名 (未验证) 提交于 2019-12-03 00:33:02
XML中设置了某种布局,需要在Java程序(如 Activity)中,在 onCreate()方法中调用相应的setContentView()来显示这种布局,如setContentView(R.layou布局XML文件名。此时一般不需编写很多的Java代码,其优点是直观、简洁,并实现了UI界面和Java逻辑代码的分离。在示例工程中的 TextViewSimple工程就是采用的这种XML布局,取出存于main.xml中ID为 mytextview的 TextView(需先在main.xml中定义好),并在标题中显示,部分代码参见代码段1,结果如图1所示。 //代码1在Java代码中引用在XML中完成的布局 import android app. Activity; import android.os.Bundle; import android.widget.TextView; public class TextViewSimple_MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState){ Super.onCreate(savedInstancestate); setContentView(R. layout. main);//采用main.xml布局,其设定了

【基于Ijkplayer】安卓机顶盒电视播放器开发

匿名 (未验证) 提交于 2019-12-03 00:32:02
Ijkplayer是B站开源的一款多媒体播放引擎,其基于ffmpeg开并支持很多的在线媒体播放格式。本文实现了在安卓TV上播放各大电视台的直播,其格式是.m3u8。当然了只要是编译的Ijkplayer支持的格式这款播放器自然可以播放。 首先上界面: 播放器界面非常简单,因为是用电视遥控器操作,所以布局和操作力求简单易用。布局分为播放区域和左侧菜单,按遥控器的确定按钮调出菜单,可以选择界面确认后进入播放界面。下面开始讲如何实现: 一,创建布局 播放器主界面布局文件activity_play_rel.xml <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> <LinearLayout android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical">

解决ConstraintLayout布局中constraintDimensionRatio属性在ListView中的无法显示的问题。

匿名 (未验证) 提交于 2019-12-03 00:27:02
ConstraintLayout是Android Studio2.2新增的主要功能之一,它使用约束的方式来指定控件的位置和大小。虽然使用起来还不能和IOS开发中StoryBoard中直接拖放控件那样方便,但也极大的方便了android的布局。它有效的解决了布局嵌套过多的问题,我们知道布局嵌套越多,性能越差,因此,使用 ConstraintLayout布局复杂的界面能够极大的提高性能。 这里不介绍 ConstraintLayout的使用,不清楚如何使用的建议百度学习一下,毕竟它实在是好用,一个复杂的布局使用它能够轻松搞定。 需要布局一个UI界面,实现的效果就是每一个列表项中平均分配有三个图片,图片的宽高相等。我们知道, ConstraintLayout布局中使用constraintDimensionRatio能够限制控件的宽高比。于是飞快的撸除了以下的代码: 列表Item布局代码:item_content.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android

Android布局

匿名 (未验证) 提交于 2019-12-03 00:22:01
两种排法: 从左到右 (水平) android:orientation=”horizontal” 从上到下 (垂直) android:orientation=”vertical” 代码样例: < LinearLayout xmlns:android = "http://schemas.android.com/apk/res/android" xmlns:tools = "http://schemas.android.com/tools" android:layout_width = "match_parent" android:layout_height = "match_parent" android:orientation = "vertical" > < TextView android:layout_width = "wrap_content" android:layout_height = "wrap_content" android:layout_alignParentBottom = "true" android:layout_alignParentRight = "true" android:padding = "20dp" android:text = "0" android:textSize = "30sp" /> < TextView android

流失布局

匿名 (未验证) 提交于 2019-12-03 00:22:01
需要一个工具类FlowLayout 下面是MainActivity MainActivity布局 主意一点 红线部分 主布局里面有个引用的 item布局 新建一个xml文件 <? xml version= "1.0" encoding= "utf-8" ?> < TextView xmlns: android = "http://schemas.android.com/apk/res/android" android :layout_width= "wrap_content" android :layout_height= "wrap_content" android :padding= "10dp" android :gravity= "center" android :background= "@drawable/textview_bg" android :textSize= "13sp" android :textColor= "#333333" > </ TextView > 爆红的地方需要一个xml文件 drawable文件下创建xml文件 <? xml version= "1.0" encoding= "utf-8" ?> < shape xmlns: android = "http://schemas.android.com/apk/res/android"

RecycleView多布局的实现

匿名 (未验证) 提交于 2019-12-03 00:22:01
http://www.jianshu.com/p/f6418086a1b3 介绍了RecycleView的简单使用,并实现了RecycleView的点击事件和长按事件,本篇文章主要讲解的是RecycleView实现多布局。 现在来看下效果图如下: [ͼ1.png] 图二: ͼ2.png 图三: 图三巴纽 上图+实现了四种布局:现在来看看主布局XML: <RelativeLayout xmlns:android= "http://schemas.android.com/apk/res/android" xmlns:tools= "http://schemas.android.com/tools" android:layout_width= "match_parent" android:layout_height= "match_parent" android:paddingLeft= "@dimen/activity_horizontal_margin" android:paddingRight= "@dimen/activity_horizontal_margin" android:paddingTop= "@dimen/activity_vertical_margin" android:background= "#E0F2F1" android:paddingBottom= "