android布局

Android中 include标签的使用

一笑奈何 提交于 2020-03-05 00:22:27
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout android:layout_width="fill_parent" android:layout_height="fill_parent" style="@style/StyleLayoutMain" mce_style="@style/StyleLayoutMain" xmlns:android="http://schemas.android.com/apk/res/android"> <!-- include标签内不能设置RelativeLayout属性,如android:layout_alignParentBottom,因为不起作用 --> <!-- include标签内设置id属性后(android:id),其引用的布局layout内的id属性就不起作用了,怀疑是其引用的layout外层包裹了一层include标签 或者是覆盖了其内的属性id--> <!-- 如果没有include标签,所有布局代码都写在一个xml文件中,界面会显得很冗余,可读性很差。而且界面加载的时候是按照顺序加载的,前面的布局不能 调用其后面的布局id。而采用include后,一个include中可以引用其后的include中的布局id属性 --> <include android:id="

android 标签页<include /> 的使用

人盡茶涼 提交于 2020-03-05 00:20:42
在android页面布局设计中,有时候需要用到很多相同的布局设计。如果每个用到该布局的xml里都写那个相同布局的话,会造成语句冗余,而且可读性很差。 为了解决这个问题的话,我们可以把相同布局的代码单独写成一个模块,然后用到的时候可以通过<include /> 标签来重用layout代码。 具体实现: 在xml需要使用 某个相同的布局模块的时候直接使用<include /> 标签页进行引用。 大致需要那个相同布局模块的id 和res/layout/ 内xml 名字: 由上图可知一共使用了两个<include /> 标签页。其内的子项目前来看是只有id 和layout 名字就行。 在查看别人项目时遇到了这种用法,于是就记下来啦。 参考: http://blog.csdn.net/wangljgood/article/details/6556175 http://blog.csdn.net/race604/article/details/7564088 来源: https://www.cnblogs.com/wainiwann/p/4481220.html

Android布局实现圆角边框

纵饮孤独 提交于 2020-03-01 21:27:41
首先,在res下面新建一个文件夹drawable,在drawable下面新建三个xml文件:shape_corner_down.xml、shape_corner_up.xml和shape_corner.xml,分别是下面两个角是圆角边框,上面两个角是圆角边框,四个角全部是圆角边框。 shape_corner_down.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#0099CC" /> <corners android:bottomRightRadius="20dp" android:bottomLeftRadius="20dp"/> <stroke android:width="1dp" android:color="#000000"/> </shape> shape_corner_up.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#CCCC99

Android TagFlowLayout布局实现

假如想象 提交于 2020-03-01 14:02:21
一、简 介 由于移动互联网的发展,大数据技术的进步,app厂商或者犯罪分子会推广你喜欢的内容或者广告。对于各种类型的需求,通过关系数据库心亦不能满足需要,这种情况通过nosql数据库来存储用户兴趣。对于用户兴趣的标注,就是通过tag或者cookie等实现。在这方面,客户端需求也是很大,无论是供应链、内容还是地理定位,都有很大的需求。 这种标记方式比较常用 二、代码实现 public class TagFlowLayout extends ViewGroup { private final static String TAG = "TagFlowLayout"; //自定义属性 private int spacingBetweenItems; private int lineSpacing; private OnItemSelectedListener mOnItemSelectedListener; private OnItemRemovedlistener mOnItemRemovedListener; public TagFlowLayout(Context context) { this(context, null); } public TagFlowLayout(Context context, AttributeSet attrs) { this(context,

源码解析---Scroller完全解析

拜拜、爱过 提交于 2020-03-01 10:32:58
Scroller完全解析 1.概述 Scroller是一个专门用于处理滚动效果的工具类,可能在大多数情况下,我们直接使用Scroller的场景并不多,但是很多大家所熟知的控件在内部都是使用Scroller来实现的,如ViewPager、ListView等。而如果能够把Scroller的用法熟练掌握的话,我们自己也可以轻松实现出类似于ViewPager这样的功能。那么首先新建一个ScrollerTest项目,今天就让我们通过例子来学习一下吧。 先撇开Scroller类不谈,其实任何一个控件都是可以滚动的,因为在View类当中有scrollTo()和scrollBy()这两个方法,如下图所示: 这两个方法都是用于对View进行滚动的,那么它们之间有什么区别呢?简单点讲,scrollBy()方法是让View相对于当前的位置滚动某段距离,而scrollTo()方法则是让View相对于初始的位置滚动某段距离。这样讲大家理解起来可能有点费劲,我们来通过例子实验一下就知道了。 修改activity_main.xml中的布局文件,代码如下所示: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools=

Android课堂笔记(二)布局

狂风中的少年 提交于 2020-02-26 14:47:23
1.1 Android 应用的 UI 组件 1.视图(View) :相当于窗户玻璃。 视图组(ViewGroup):相当于窗户框架。 ViewGroup 类是 View 类的子类,ViewGroup类是一个抽象类,我们在开发中通常使用其子类: ①:ViewGroup.LayoutParams类( 注意s ) ②ViewGroup.MarginLayoutParams类 2.一个活动 activity 就是一个单独的窗口,view类位于android.view包,其子类位于android.widget包。 视图和视图组的层次关系: 1.2 如何设计 UI 界面? 1.3 安卓提供布局类型 1.相对布局(RelativeLayout) :使视图相对于其相邻视图或父视图定位,如图: 相对布局布局属性: 代码示例: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" .... > <!-- 相对布局 RelativeLayout... --> <!-- Alt+?:这是ADT里的快捷提示,比如输入id/la等就会自动联想 --> <!-- Button类型,不是纯文本类型,需要自己更改 --> <!-- 每个组件的id值是唯一的,不可以重名,会在R文件中有显示的分配内存地址 --> <!--

Android——CardView(卡片式布局)

試著忘記壹切 提交于 2020-02-26 12:56:54
CardView 是 Android 5.0 所 推 出 的 组 件, 它 是 用 于 实 现 卡 片 式 布 局 的 重 要 组 件, 由appcompat-v7 库提供。CardView 是 FrameLayout 的子类,只是单独提供了圆角与阴影的效果,看起来立体感更强、更加美观。 CardView 一般被使用在如 ListView、GridView、RecyclerView 等列表视图的子项(item)布局中 。 CardView 需要为其设置一些属性才可以让它显示得更加美观,CardView 所支持的 XML 属性如下表: CardView 使用很简单,一般分以下步骤: 1、导入支持库,在布局管理器中使用该组件需要先在build.gradle 文件的 dependencies 节点中添加 CardView 依赖库的代码。 2、在布局文件添加并设置其样式。 < ? xml version = "1.0" encoding = "utf-8" ? > < androidx . cardview . widget . CardView xmlns : android = "http://schemas.android.com/apk/res/android" xmlns : app = "http://schemas.android.com/apk/res-auto"

Android布局文件经验

我是研究僧i 提交于 2020-02-25 03:25:47
1.父控件中含有多个子控件时。往往遵循长子优先的原则,即长子假设非常大可能占满父空间。使次子们出局; 2.如果TableLayout有2行,当中一行未设定列间长度比例。而还有一行设定了,则未设定行可能也会遵循设定行的列间长度比例; 3.ImageView中的scaleType,对android:src="@drawable/logo"。而对android:background="@drawable/logo"可能不起作用; 4.在某个区域(如TableLayout中某个单元格)显示某张超大的图片。希望图片总是自适应单元格而不是把单元格撑爆。解决方式:将单元格放在LinearLayout中,给LinearLayout设置android:layout_width="wrap_content"、android:orientation="horizontal"。给单元格设置layout_weight属性、不设置android:layout_width属性。 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android

Android学习笔记05:布局Layout介绍

不羁的心 提交于 2020-02-24 01:07:19
1.Layout介绍   为适应各种界面风格,满足开发的需要,Android提供了5种布局方式,分别是LinearLayout(线性布局)、FrameLayout(框架布局)、RelativeLayout(相对布局)、AbsoluteLayout(绝对布局)以及TableLayout(表格布局),通过这5种布局我们可以在手机屏幕上随心所欲的摆放各种控件。   在Android的系统中,可视化的控件是从Android.view.View类中继承而来。控件的创建方式通常有2种方式:   1、通过在xml布局文件中配置控件的各种属性,然后在程序中加载要使用的控件。   2、直接在程序中设置控件属性,并加载控件。   xml布局文件是android系统中定义控件的常用方法,这样做的目的与好处是显而易见的,使程序代码与图形UI分离,方便代码及图形UI的各自维护。   xml布局文件必须包含在res/layout目录中,且每一个xml布局文件的根节点可以是任意的视图标签。为xml文件布局中的标签指定id时需要使使用如下形式:   android:id=“@+id/标签名称”   每一个标签的id都会在R类中生成与之对应的变量,该标签名称便保存在R文件当中了。   如果是要使用xml布局文件,则需要在oncreate方法中使用setContentView来加载指定的xml布局文件。加载方法如下:

Android Layput布局

ε祈祈猫儿з 提交于 2020-02-24 00:31:34
一个 Android 视图有很多控件,那么怎么来控制它们的位置排列呢 ? 我们需要容器来存放这些控件并控制它们的位置排列,就像 HTML 中 div,table 一样, Android 布局也起到同样的作用。 Android 布局主要有以下几种 : LinearLayout, RelativeLayout,TableLayout,AbsoluteLayout. 最后一种 AbsoluteLayout 是通过指定控件的 x/y 坐标来定位的,不太灵活所以已经不推荐使用了。 (1) LinearLayout LinearLayout 线性布局,包含在 LinearLayout 里面的控件按顺序排列成一行或者一列,类似于 Swing 里的 FlowLayout 和 Silverlight 里的 StackPanel ,它的常用的属性主要包括: Orientation 方向,即指定 LinearLayout 是代表一行还是一列,可以为 horizontal 或 vertical ,如 android:orientation="vertical" ,当然也在可以在代码里通过 setOrientation() 方法来设置。 Fill Mode 填充方式,所有在 LinearLayout 的控件都必须指定它的填充方式 , 即设置 android:layout_width 和 android