android布局

【Android开发学习24】界面布局之表格布局TableLayout+TableRow

最后都变了- 提交于 2019-12-07 02:04:27
一、基础知识: TableLayout置底,TableRow在TableLayout的上面,而Button、TextView等控件就在TableRow之上, 另外,TableLayout之上也可以单独放控件。TableLayout是一个使用复杂的布局,最简单的用法就仅 仅是拖拉控件做出个界面,但实际上,会经常在代码里使用TableLayout,例如做出表格的效果。 android:collapseColumns:以第0行为序,隐藏指定的列 android:shrinkColumns:以第0行为序,自动延伸指定的列填充可用部分 android:stretchColumns:以第0行为序,尽量把指定的列填充空白部分 二、方案一 代码 展示: 方案一采用xml布局,在代码中除了显示layout之外,未作任何布局相关的操作。 1."Acticity_06\src\yan\acticity_06\MainActivity.java" package yan.activity_06; import android.os.Bundle; import android.app.Activity; public class MainActivity extends Activity { @Override public void onCreate(Bundle savedInstanceState)

在相对布局下用TableLayout(TableRow)控件不能居中的问题

旧城冷巷雨未停 提交于 2019-12-07 02:03:58
我在TableRow里面加了 android: gravity= "center" 还是没有用。(具体代码如下:) <?xml version="1.0" encoding="utf-8"?> < 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:paddingBottom = "@dimen/activity_vertical_margin" android:paddingLeft = "@dimen/activity_horizontal_margin" android:paddingRight = "@dimen/activity_horizontal_margin" android:paddingTop = "@dimen/activity_vertical_margin" tools:context = "com.example.administrator.samelistener.MainActivity"

SDK#屏幕兼容性模式

隐身守侯 提交于 2019-12-06 23:23:59
如果你在Android3.0版本或低于Android3.0版本下开发了一款应用,而且它能够在大屏幕上(如平板电脑)合理的调整尺寸,为了保持更好的用户体验,你应该禁掉屏幕兼容性模式。 从Android1.6开始,安卓已支持各种屏幕尺寸,并且为了适配每种屏幕做了很多工作去改变应用布局的大小。但是,如果你的应用没有按照Supporting Multiple Screens指南行事,就可能在大屏幕上遇到麻烦,对于这种问题的应用程序,屏幕兼容性模式可以让应用程序在大屏幕上表现的更好用一些。 有两个版本的屏幕兼容性模式,它们略有不同: Version 1 (Android 1.6 - 3.1) 系统在一个“邮票“窗口上绘制应用的UI,也就是说,系统绘制应用的布局与在正常大小的手机相同(模拟一个320dp*480dp的屏幕),屏幕剩余的空间由布局周围的黑色边框填充。 这介绍了 Android 1.6 处理仅为 320dp x 480dp 的原始屏幕大小而设计的应用程序。因为只有很少的活跃的android设备仍然在运行 Android 1.5,大部分的应用在 Android 1.6 或更高版本上被开发,不应该在大屏幕上开启这个版本的兼容性模式,这个版本被认为是过时的。 要禁掉这个版本的屏幕兼容模式,只需要简单地设置android:minSdkVersion或者android

BottomSheet效果的两种实现方式

霸气de小男生 提交于 2019-12-06 19:43:05
BottomSheet效果的两种实现方式 单页面添加BottomSheet效果 BottomSheetDialog实现通用效果 BottomSheet的效果是指从屏幕底部向上滑的效果,是MaterialDesign风格的一种,视觉效果如下: 实现这种效果有几种不同的方式,如果是在一个固定的页面上添加这种效果,可以在该页面布局中添加BoottomSheet相关的控件。如果是作为通用控件来提供给不同页面使用,则可以使用BottomSheetDialog实现,本文将对两种方法进行讲解,其中会讲到一些使用上的细节,处理不好这些细节,会出现非常怪异的效果。 单页面添加BottomSheet效果 首先引入依赖包: compile 'com.android.support:design:27.1.1' 页面布局如下: < ? xml version = "1.0" encoding = "utf-8" ? > < android . support . design . widget . CoordinatorLayout xmlns : android = "http://schemas.android.com/apk/res/android" xmlns : app = "http://schemas.android.com/apk/res-auto" android :

Android 页面布局相关小记

自作多情 提交于 2019-12-06 12:30:19
1、设置渐变背景 <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> <gradient android:centerColor="#1FBDFF" android:endColor="#1FA5FF" android:startColor="#02EEFF" android:type="linear" /> </shape> 2、设置圆角渐变按钮 <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <!-- 连框颜色值 --> <item> <shape> <corners android:radius="4dp" /> </shape> </item> <!-- 主体背景颜色值 --> <item android:bottom="1dp" android:left="1dp" android:right="1dp" android:top="1dp"> <shape> <gradient android:centerColor="#1FBDFF" android:endColor="#1FA5FF" android:startColor="#02EEFF"

Android第三十二天

北城以北 提交于 2019-12-06 09:20:37
1、什么是View? <1>所有高级UI组件都继承View类而实现的; <2>一个View在屏幕上占据一块矩形区域; <3>负责渲染; <4>负责处理发生的事件; <5>设置是否可见; <6>设置是否可以获得焦点等 2、LinearLayout、RelativeLayout和FrameLayout的联系和区别。 <1>FrameLayout 这个布局可以看成是墙脚堆东西,有一个四方的矩形的左上角墙脚,我们放了第一个东西,要再放一个,那就在放在原来放的位置的上面,这样依次的放,会盖住原来的东西。这个布局比较简单,也只能放一点比较简单的东西。 <2>LinearLayout 线性布局,这个东西,从外框上可以理解为一个div,他首先是一个一个从上往下罗列在屏幕上。每一LinearLayout里面又可分为垂直布局 (android:orientation="vertical")和水平布局(android:orientation="horizontal" )。当垂直布局时,每一行就只有一个元素,多个元素依次垂直往下;水平布局时,只有一行,每一个元素依次向右排列。 linearLayout中有一个重要的属性 android:layout_weight="1",这个weight在垂直布局时,代表行距;水平的时候代表列宽;weight值越大就越大。 <3>RelativeLayout

CardView(卡片式布局)

你离开我真会死。 提交于 2019-12-06 05:37:07
CardView是Android5.0之后出现的,用它可以实现上图所展现的圆角效果、阴影效果。实现方式直接看代码: 第一步: compile 'com.android.support:cardview-v7:25.0.1' //gradle导入CardView支持包 第二步: <android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="150dp" android:layout_marginLeft="10dp" android:layout_marginRight="10dp" android:layout_marginTop="10dp" app:cardBackgroundColor="#FF8800" app:cardCornerRadius="10dp" app:cardElevation="8dp"> <TextView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_gravity="center" android:gravity="center" android:text="测试文本" android

点击导航栏切换页面的几种方式

只谈情不闲聊 提交于 2019-12-06 03:17:08
最近比较流行tablayout+viewpager+fragment的点击导航栏实现页面切换的效果,可以参考: http://blog.csdn.net/qq_33425116/article/details/52599818#t5 我在这里介绍的都是比较原始的切换做法。 RedioGroup+Fragement(推荐) 运行效果: 写布局文件: 示例RadioButton: <RadioButton android:id="@+id/rb_home" style="@style/tab_style" android:checked="true" android:drawableTop="@drawable/bar_home_bg" android:text="主页" /> 样式文件tab_style: <style name="tab_style"> <item name="android:layout_width">0dip</item> <item name="android:layout_height">wrap_content</item> <item name="android:layout_gravity">center_vertical</item> <item name="android:layout_weight">1</item> <item name=

Android第三十六天

╄→гoц情女王★ 提交于 2019-12-05 18:19:08
1、LinearLayout(线性布局):将布局所包含的控件在线性方向上依次排列。 <1>android:orientation 指定了排列方向(垂直方向(vertical)、水平方向(horizontal)) <2>android:layout_gravity 用于指定控件在布局中的对齐方式(站在子控件的角度) a.当LinearLayout的排列方向是horizontal时,只有垂直方向上的对齐方式才会生效; b.当LinearLayout的排列方向是vertical时,只有水平方向上的对齐方式才会生效。 <3>android:weight 允许通过比例的方式来指定控件的大小,在手机屏幕的适配性方面可以起到非常重要的作用 <4>xmlns:android..... 命名控件(和java文件中的import语句功能类似) <5>android:layout_width 定义当前的布局或者控件的宽度 <6>android:layout_height 定义当前的布局或者控件的高度(宽高值是必须的属性) <7>android:padding 内边距。当前控件或者布局的内边缘距离里面子控件或者内容的距离,距离值得单位是dp <8>android:gravity 让当前布局或者控件的内容或者子布局排列的方式(站在父控件的角度) 2、RelativeLayout(相对布局)

自定义Android的ListView布局和各Item的背景色

梦想的初衷 提交于 2019-12-05 11:38:27
Android中的ListView是用得非常频繁的一种组件,同时ListView也是一种很强大的组件,你可以为每一行自定义布局,也可以修改各行的 背景色。自定义布局比较容易,自己实现一个layout的布局文件,然后在adapter的getView里读入就可以了。需要注意的是,在 getView中不需要每次都加载layout文件,因为ListView会重复利用已生成的Item。所以每次拖动上下滚动条的时候其实每行的Item 变化的只是显示的内容,就窗体本身而言是不变的,Android SDK里自带的例子是最好的说明。 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 /** * Make a view to hold each row. * * @see android.widget.ListAdapter#getView(int, android.view.View, * android.view.ViewGroup) */ publicView getView(intposition, View convertView, ViewGroup parent) { // A ViewHolder keeps references to