android布局

Android控件显示和隐藏

为君一笑 提交于 2020-01-14 14:21:50
在安卓开发中,我们会遇到这样的情况,布局很类似,A布局比B布局多了几个控件,只需 将其隐藏即可达到布局复用。 基本概念 1、在xml文件中对控件可进行配置 2、在Java代码中进行设置 可见: android:visibility="visible"; Java代码:view.setVisibility(View.VISIBLE); 不可见: android:visibility="invisible"; Java代码:view.setVisibility(View.INVISIBLE); 隐藏: android:visibility="gone"; Java代码:view.setVisibility(View.GONE); 注意:invisible--不显示,但保留所占的空间;visible--正常显示;gone:不显示,且不保留所占的空间 如,一个场景--点击button之后,该按钮进行显示 XML里: android:visibility="visible" 代码里,如Button btn.setVisibility(View.VISIBLE); 我在项目当中用到的是: 1、布局中设置控件为android:visibility 2、在程序中可用setVisibility(); 3、对应的三个常量值为0、4、8 VISIBLE:0 可见的 INVISIBLE:4 不可见的

Android学习笔记31:使用惰性控件ViewStub实现布局动态加载

时光怂恿深爱的人放手 提交于 2020-01-10 23:51:16
  在Android开发中,经常会遇到这样的情况,在程序运行过程中动态的根据当前条件来决定是否显示某个控件或布局,这时就可以使用惰性控件ViewStub来方便的完成这一功能。   惰性控件ViewStub是一个轻量级的View,可以实现动态布局加载。ViewStub对象是一个看不见的,零大小的视图,并在程序运行时根据需要进行动态加载。只有当ViewStub对象被设置为可见,或是调用了ViewStub.inflate()方法时,ViewStub对象所指向的布局才会被实例化,并加载到指向的父布局中。这样,便通过惰性控件ViewStub实现了动态加载某个控件或布局。   在本篇博文中,我们将通过一个实例来演示如何使用惰性控件ViewStub完成动态加载布局操作。完成后的程序运行效果如图1所示。 图1 主界面显示效果   在如图1所示的主界面中,点击“展开宝贝详细描述”按钮,将通过惰性控件ViewStub加载动态布局的方式,引入一段对商品的文字描述信息,如图2所示。 图2 动态加载布局效果   从图2可以看出,通过使用惰性控件ViewStub,我们在原布局中动态的加入了一段有关商品的描述信息。当点击“隐藏宝贝详细描述”按钮时,这段商品描述信息将被隐藏,主界面将重新变为图1所示的显示效果。   下面就来说说该实例的具体实现方法。 1.静态加载布局  

android开发学习笔记系列(4)--android动态布局

柔情痞子 提交于 2020-01-08 07:16:34
前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道,只有真正地下手去做某些事情的时候,才会发觉各种问题,原本打算先写view与framgent实现tabhost功能的博客的,但是碰到了这个棘手问题必须先把他解决了!同时不知道各位网友有什么好的方法来适配所有的安卓手机屏幕 问题 在xml文件中使用px之后出现了各种不适应屏幕的情况,控件不是大了就是小了,要知道在android世界里面有太对的屏幕尺寸了,真羡慕搞苹果开发的人! UI变得奇丑无比 控件太多的偏差了! 解决之道 其实解决之道有很多,我选用的是使用代码计算等比例高宽,让其在相应的屏幕上显示相应的比例高度就可以了!当然网上有很多都是给的建议,却没有实实在在解决问题的博客!(希望集思广益,能够得到一个适合全部屏幕类型的架包,方便所有的安卓开发人员) 关于网上的建议 网上的建议,我进行了归纳: 一、关于布局适配 不要使用绝对布局 尽量使用match_parent 而不是fill_parent 。 能够使用权重的地方尽量使用权重(android:layout_weight) 如果是纯色背景,尽量使用android的shape 自定义。 如果需要在特定分辨率下适配

VS/Xamarin Android入门(对话框控件)三

…衆ロ難τιáo~ 提交于 2020-01-07 05:46:00
一、对话框和提示信息   一、对话框       我们首先从简单的对话框开始。        1、普通对话框       在android里面,对话框用的是 AlertDialog ,这个呢,其实就和winform里面的MessageBox一样的。最简单的 AlertDialog.Builder ad_build = new AlertDialog.Builder( this ) .SetTitle(Resource.String.warming) //标题(警告) .SetMessage(Resource.String.info) //获取本地string.xml定义的数据 .SetNegativeButton( "确定" , this ) .SetPositiveButton( "取消" , this ) .SetNeutralButton( "中间按钮" , this ) .SetIcon(Android.Resource.Drawable.StatSysWarning); ad_build.Show();       其中,SetNeutralButton这里是设置的一个中间按钮,这个东西,可以有,也可以没有,代码可以直接添加到程序里面运行即可。在代码中,我们可以看到提示信息里面的, 获取本地strings.xml定义的数据。我们可以看下本地的xml数据。 <?xml

如何在屏幕底部对齐视图?

一笑奈何 提交于 2020-01-06 23:27:19
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> 这是我的布局代码; <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent"> <TextView android:text="@string/welcome" android:id="@+id/TextView" android:layout_width="fill_parent" android:layout_height="wrap_content"> </TextView> <LinearLayout android:id="@+id/LinearLayout" android:orientation="horizontal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="bottom"> <EditText

android开发学习笔记系列(4)--android动态布局

断了今生、忘了曾经 提交于 2020-01-05 17:10:31
前言 在做一个有关苏果APP的项目中,但是fuck的是,我完全使用相对布局之后及线性布局之后发现坑爹的事情了,屏幕不能适配,这是多大的痛,意味着,必须使用相应的代码实现动态布局!呵呵,不做项目不知道,只有真正地下手去做某些事情的时候,才会发觉各种问题,原本打算先写view与framgent实现tabhost功能的博客的,但是碰到了这个棘手问题必须先把他解决了!同时不知道各位网友有什么好的方法来适配所有的安卓手机屏幕 问题 在xml文件中使用px之后出现了各种不适应屏幕的情况,控件不是大了就是小了,要知道在android世界里面有太对的屏幕尺寸了,真羡慕搞苹果开发的人! UI变得奇丑无比 控件太多的偏差了! 解决之道 其实解决之道有很多,我选用的是使用代码计算等比例高宽,让其在相应的屏幕上显示相应的比例高度就可以了!当然网上有很多都是给的建议,却没有实实在在解决问题的博客!(希望集思广益,能够得到一个适合全部屏幕类型的架包,方便所有的安卓开发人员) 关于网上的建议 网上的建议,我进行了归纳: 一、关于布局适配 不要使用绝对布局 尽量使用match_parent 而不是fill_parent 。 能够使用权重的地方尽量使用权重(android:layout_weight) 如果是纯色背景,尽量使用android的shape 自定义。 如果需要在特定分辨率下适配

Android布局管理器-使用FrameLayout帧布局管理器显示层叠的正方形以及前景照片

柔情痞子 提交于 2020-01-05 00:34:25
场景 Android布局管理器-使用LinearLayout实现简单的登录窗口布局: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103838995 帧布局管理器FrameLayout 实现效果 注: 博客: https://blog.csdn.net/badao_liumang_qizhi 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。 实现 将activity_main.xml修改为FrameLayout 然后通过 android:foreground="@drawable/dog" 设置其前景照片,就是位于所有控件的最上方的照片。 其中照片是位于res/drawable下的dog.jpg 然后通过 android:foregroundGravity="right|bottom" 设置前景照片位置,多个位置使用|分割,这里是设置位于右边和下边。 然后依次设置不同大小的TextView以及不同的北京颜色,实现层叠效果。 完整代码如下 <?xml version="1.0" encoding="utf-8"?> <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http:/

Android 自动换行流式布局的RadioGroup

吃可爱长大的小学妹 提交于 2020-01-03 13:44:48
用法 使用FlowRadioGroup代替RadioGroup import android.content.Context; import android.util.AttributeSet; import android.view.View; import android.widget.RadioGroup; /** * 流式布局的RadioGroup */ public class FlowRadioGroup extends RadioGroup { public FlowRadioGroup(Context context) { super(context); } public FlowRadioGroup(Context context, AttributeSet attrs) { super(context, attrs); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int maxWidth = MeasureSpec.getSize(widthMeasureSpec); int childCount = getChildCount(); int x = 0; int y = 0; int row = 0; for (int index = 0

android布局属性详解

核能气质少年 提交于 2020-01-03 09:57:49
RelativeLayout 用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout

Android布局属性详解

血红的双手。 提交于 2020-01-03 09:57:40
RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边缘 android:layout_alignParentLeft 贴紧父元素的左边缘 android:layout_alignParentRight 贴紧父元素的右边缘 android:layout_alignParentTop 贴紧父元素的上边缘 android:layout_alignWithParentIfMissing 如果对应的兄弟元素找不到的话就以父元素做参照物 第二类:属性值必须为id的引用名“@id/id-name” android:layout_below 在某元素的下方 android:layout_above 在某元素的的上方 android:layout_toLeftOf 在某元素的左边 android:layout_toRightOf 在某元素的右边 android:layout_alignTop 本元素的上边缘和某元素的的上边缘对齐 android:layout