今天,我们的主题是基础控件RadioButton。...这个控件可以由非选中状态通过点击事件转为选中状态,但是不能通过点击实现逆向的状态转换,一个默认样式RadioButton控件的非选中和选中状态如下: ?...在上面我们在简介中得知,这个控件能通过点击事件实现的效果如下(不能逆向改变状态): ? 接下来,我们对其基本属性进行设置,改变一下它的样式: ?...布局文件与控制逻辑如下: <?xml version="1.0" encoding="utf-8"?...,我们只需要把之前放置在布局中的RadioButton放置在RadioGroup中即可: <RadioGroup android:id="@+id/job_list" android
CardView介绍 CardView是Android 5.0系统引入的控件,相当于FragmentLayout布局控件然后添加圆角及阴影的效果;CardView被包装为一种布局,并且经常在ListView...和RecyclerView的Item布局中,作为一种容器使用。...:appcompat-v7:24.2.0' compile 'com.android.support:cardview-v7:24.2.0' } 布局文件main.html文件下 <?...<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent..." android:text="棒冰行动" android:textSize="18sp" android:textStyle="bold" / <TextView android
Android UI控件系列:LinearLayout(线性布局) LinearLayout是在线性方向显示View元素的一个ViewGroup,可以是水平方向,也可以是垂直方向 你可以重复使用LinearLayout...有一个根元素LinearLayout定义了它的方向是垂直的,所有的子View(一共有2个)都是被垂直方向堆起的,第一个子孩子是另一个以水平方向布局的LinearLayout,并且第二个子孩子是一个用垂直方向布局的...3、现在打开HelloLinearLayout.java并且确定它已经在onCreate()方法中加载了res/layout/main.xml布局文件 public void onCreate(Bundle...super.onCreate(savedInstanceState); setContentView(R.layout.main); setContentView(int)方法为Activity加载了布局文件...,由资源resource ID所指定—R.layout.main指的是res/layout/main.xml布局文件 4、运行程序,你可以看到如下的情况 ?
drawerLayout其实是一个布局控件,跟LinearLayout等控件是一样的,但是drawerLayout带有滑动的功能。...只要按照drawerLayout的规定布局方式写完布局,就能有侧滑的效果。...onDrawerOpened DrawerLayout滑出时调用 onDrawerClosed DrawerLayout关闭时调用 onDrawerSlide DrawerLayout滑动时调用 drawerLayout布局代码...: <android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android...start" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android
比较好的一种做法是使用include标签,复用同一个xml文件来实现布局的复用。但是这种方法是通过代码的方式来设置标题,左右按钮等其他的属性,会导致布局属性和Activity代码耦合性比较高。...因此,我们要通过自定义View,继承ViewGroup子类来实现这样的布局,降低布局文件和Activity代码耦合性。...首先,我们需要写出布局文件layout_custom_titlebar.xml。 <?xml version="1.0" encoding="utf-8"?...<merge xmlns:android="http://schemas.android.com/apk/res/android" <!...="true" android:layout_marginLeft="5dp" android:background="@null" android:minHeight="45dp" android
Spacer 初始状态 设置三个按钮,顺序排列 在AB两个按钮之间加一行 Spacer() 在BC两个按钮之间也加一行 Spacer() 总结 Spacer() 相当于弹簧的效果,使两个控件之间的距离达到最大值...Flex本身功能是很强大的,它也可以和Expanded组件配合实现弹性布局。 Expanded 可以按比例“扩伸” Row、Column和Flex子组件所占用的空间。...), ), ], ), ), Flexible Flexible是一个控制Row、Column、Flex等子组件如何布局的组件...三个控件flex都是1, 左图第三个控件是Flexible, 右图第三个控件是Expanded (其他属性一模一样) 可以看出: Row、Column、Flex会被Expanded撑开,充满主轴可用空间...对于大小伸缩可变的视觉元素,可以通过 Expanded 控件让其填充父容器的空白区域
这里汇总的是自己在工作过程中,使用过的常见空间布局,记录在这里。详情如下: 1....三个控件,分别处于左,中,右 要点:使用RelativeLayout 1 <RelativeLayout 2 android:layout_width="match_parent..." 3 android:layout_height="wrap_content" 4 android:orientation="horizontal...android:layout_height="wrap_content" 8 android:gravity="center" 9...两个控件,分别处于左右 要点:使用layout_weight="1"的TextView撑开中间,将两个控件挤到两边 1 <LinearLayout 2 android
增加阴影效果,让控件或者布局看起来有立体的效果,总的来说有两种解决方案。...1,直接使用属性: android:elevation=”4dp”这样一句代码,就实现了效果,elevation表示海拔,就是布局的z轴的高度,调整高度,可以选择阴影的轻重。...<TextView android:layout_width="0dp" android:layout_height="match_parent" android...<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
http://frozenui.github.io/frozenui/demo/ 4.mui 是以iOS平台UI为基础,补充部分Android平台特有的UI控件 http://www.dcloud.io.../hellomui/ 5.WeUI+ WeUI+是Zepto1.2和weui.js,weui0.44/1.1,以及上百个组件开发而成,兼容IOS和Android两大平台,仅适用于微信/手机网站开发,如有任何问题
Panels控件(其实就是容器控件) 对内部的子控件提供了自动布局功能 可以在容器控件内继续添加容器控件(一个复杂的界面往往是多种容器控件嵌套而组成的) 一些界面器控件也是嵌套了容器控件而组成的(比如ListBox...就嵌套了StackPanel控件) 你也可以自己来制作一些容器控件 一些常见的布局控件 Canvas 最原始的容器控件,对子控件无自动布局功能。...具体使用 在新建立了Silverlight项目后,你会看到Blend自动帮你添加了一个布局控件“LayoutRoot”。 在右侧的属性栏目你可以看到这个布局控件的类型。...这里在LayoutRoot下添加上两个最简单的布局控件Canvas,并改变他们的背景颜色予以区分。 这里记住一个概念“所有的父控件对其子控件进行布局”。...在Canvas中的表现是子控件和父控件的相对位置一直保持不变。 你也可以对现有的布局进行转化。 也能对现有的元素快速的组合到容器中。 所谓搭建自适应布局就是利用Grid的特性来搭建界面。
标题图 在Android中我们常常用到很多UI控件,如TextView,EditText,ImageView,Button,ImageButton,ToggleButton,CheckBox,RadioButton...也会学到一些布局如:LinearLayout 线性布局,RelativeLayout 相对布局,FrameLayout 帧布局,AbsoluteLayout绝对布局,TableLayout 表格布局,GridLayout...网格布局,ConstraintLayout 约束布局。...LinearLayout 线性布局: android:orientation="vertical" android:orientation="horizontal" RelativeLayout 相对布局...:layout_alignTop android:layout_alignBaseline TableLayout 表格布局: android:layout_span android:layout_column
分析Silverlight Button控件布局 答:关于按钮自适应 Silverlight也算一个比较开放的技术。...Button控件其实也是一些标准的Grid、Canvas、Rectangle、TextBlock组成的。...在微软官方的控件中TextBlock用contentPresenter来代替。contentPresenter可以简单的理解成一个容器但是只能容纳一个对象。...这样在使用中有两种制定他们大小的方法 一是设置最外层的Grid的Width和Height属性,因为内部的元素都是相当Grid做的布局,所以他们都会自适应外层的宽高。...再一个是设置Grid相对其夫级控件的边距。其效果能更灵活一些更能做自适应布局。 容器控件多的时候可能会用混淆。明确上一个概念“夫控件只对其子控件产生布局”。
WPF布局一个表单 ?...一个好的做法是使用某些控件库提供的表单控件;如果不想引入一个这么“重”的东西,可以自己定义一个简单的表单控件。...这篇文章介绍一个简单的用于布局表单的Form控件,虽然是一个很老的方案,但我很喜欢这个控件,不仅因为它简单实用,而且是一个很好的结合了ItemsControl、ContentControl、附加属性的教学例子...这两个控件的使用如下: ?...其它方案 Form是一个简单的只满足了基本布局功能的表单方案,业务稍微复杂的程序可以考虑使用下面这些方案,由于这些方案通常包含在成熟的控件库里面(而且稍微超出了“入门"的范围),所以我只简单地介绍一下。
WrapPanel面板也提供了Orientation属性设置排列方式,这跟StatickPanel基本相似。不同的是WrapPanel会根据内容自动换行。
WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN); 2.直接在项目的MainFest.xml中该Activity中设置: <activity android...:name="com.drain.main.LoginControlActivity" android:windowSoftInputMode="adjustPan" android...:screenOrientation="portrait" android:label="@string/app_name" > 这样会让屏幕整体上移。...如果加上的是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
Android中的控件的使用方式和iOS中控件的使用方式基本相同,都是事件驱动。给控件添加事件也有接口回调和委托代理的方式。今天这篇博客就总结一下Android中常用的基本控件以及布局方式。...开始今天的正题, 虽然Android的控件和布局方式都可以拖拽实现,今天为了更详细的了解控件和布局,我们就用纯代码的形式来进行实现和介绍。...在Android开发的几种布局方式当中,你不许指定控件的坐标点,也就是说你不许指定控件的位置,因为特定的布局方式有其特定计算控件坐标点的方法。但是在不同的布局方式中你需要为控件指定宽高。...其实LinearLayout就是流式布局,流式布局有个特点,就是下一个控件的坐标原点由上一个控件来决定,你可以沿水平方向或者垂直方向上来排列你的控件。...2.RelativeLayout (相对布局) 上面也说了一下相对布局, 相对布局的本质就是以不变应万变。也就是说相对布局可以根据已经固定的控件来确定其他新加控件的位置。
冒个泡 , 发一个刚做的声音波动的View吧 : 代码不多 , 没什么技术含量 , 权当给您省时间了 , 直接复制粘贴就能用 , 直接上代码: SoundWavesView /** * 语音通话的声波控件...private int mSoundNum = 5; // 声波的数量 private int mSpac; // 每条声波的中点 private int mWidth , mHeight; // 控件宽高
表格布局(Tablelayout) 简介: Tablelayout类以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。...表格布局是以行和列的形式来对控件进行管理的,所以我们来说说表格布局对行和列的确定 TableLayout的行数 在开发中由我们来直接指定,就是说有多少个TableRow对象或view控件就会有多少行。...1列 Android:layout_span=”2″ 该控件占了2列 下面我们来整体运用一下表格布局里的属性(代码和效果图): <TextView android:text="第三个表格:非均匀布局,控件长度根据内容伸缩" android...-- 第4个TableLayout,使用可伸展特性,并指定每个控件宽度一致,如1dip--> <TextView android:text="表4:均匀布局,控件宽度一致"
> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://...schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:id="...--定义第 1 个表格布局,第二列收缩第三列拉伸--> <TableLayout android:id="@+id/TableLayout01" android:...--定义第 2 个表格布局,第二列隐藏--> <TableLayout android:id="@+id/TableLayout02" android:layout_width...--定义第 3 个表格布局,第二列和第三列拉伸--> <!
没有Android中的Activity,它和IOS有些类似,对于IOS而言,所有的东西都是ViewController。 Flutter中布局的构建,基本都是通过Row、Column来实现的。...Row/Column:实现页面中的一块控件 Container:控制控件的内外边距 Expanded:实现类似于Flex的功能,用来分配控件空间 如何布局 找出行和列. 布局包含网格吗?...Flutter很大的问题就在于一旦页面比较复杂,小控件较多的话,嵌套层级会非常深,所以Flutter官方推荐将子控件通过函数返回,或者创建一个Widget类来实现该模块 布局的主方向 对于Row而言...,或者说Android中的Weight来分配Widget剩余的空间 通过crossAxisAlignment来设置Android中的Gravity也就是内容的位置 控件实现: class TitleWidget...Stack 在Android中可以使用FrameLayout来层叠控件,而在Flutter中,则是通过Stack来实现。
领取专属 10元无门槛券
手把手带您无忧上云