[Android Studio] 初体验
本人刚开始接触移动开发方面的知识,在很多方面都感觉寸步难行,移动开发这门课程应该是在我一年后学校才会开设,而移动开发所用到的java也是在我下个学期才开始正式学习。所以,现在的我很多地方,都非常的迷惑,都说好奇心会害死人,但对于遨游在知识海洋的我们来说,它是一个驱动器。因为有这个驱动器,我用了20天开始零基础的学习java,目前在本人看来,java和c++有着许多可以贯通的地方,最大的庆幸是java摈除了c++里的难点指针,这是有点欣慰的地方。但毕竟是一门独立的编程语言,存在既有他强大的地方和独特的地方,“万物存在皆有它之道理”,我相信学好任何一门语言的路都是艰辛的,路并不平坦。加油,一起同行的各位程序猿,在有一点java的基础上,我开始接触android,(自我感觉入手过快,只不过好奇心实在太强烈)。我不得不佩服android存在的强大,就光是android studio这款android开发环境就搞了我几天,这款开发环境是全英文的,(对于我这种English渣渣来说可谓是痛上加痛),对于这款环境的下载和配置都是有讲究的,这里就不多说了(如果有时间,会在下一篇博客进行简单叙述步骤)。下面贴一张他的正面照把?。是不是很清秀¥¥。然后记录下自己这些天学的一些小小的技巧,也希望能帮助更多的小白
一:[Android Studio] android 去掉按钮自带阴影效果
在Button的配置项增加:
style="?android:attr/borderlessButtonStyle" 下面是带阴影的按钮代码及截图
<?xml version="1.0" encoding="utf-8"?> <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:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"tools:context=".MainActivity"><Buttonandroid:id="@+id/one"android:layout_width="wrap_content"android:layout_height="wrap_content"android:background="#ccc278"android:text="nihao"android:layout_gravity="center"/></LinearLayout>
这里设置的是带黄色背景的按钮,通过在Button里添加
style="?android:attr/borderlessButtonStyle" 去掉按钮背景,(注意:如果你给你的按钮添加了背景颜色,需要一并去掉,不然达不到效果,你可以自己试试)下面是去掉后的代码和截图
<?xml version="1.0" encoding="utf-8"?> <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:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"tools:context=".MainActivity"><Buttonstyle="?android:attr/borderlessButtonStyle"android:id="@+id/one"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="nihao"android:layout_gravity="center"/></LinearLayout>
是不是按钮已经不带有背景了,ok,继续下一个
二:如何实现按钮风格为“上图下文字”式,这在当下是非常流行的,其风格如下,qq下面的Tap栏就是这种风格
下面紧接这上面的例子继续要想实现这种风格,只需要在Button里加一句android:drawableTop=""android:drawableTop就是将图片放置于某个组件的上方,下面看下代码和效果图
<?xml version="1.0" encoding="utf-8"?> <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:layout_width="match_parent"android:layout_height="match_parent"android:gravity="center"tools:context=".MainActivity"><Buttonstyle="?android:attr/borderlessButtonStyle"android:id="@+id/one"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="nihao"android:drawableTop="@mipmap/ic_launcher_round"android:layout_gravity="center"/></LinearLayout>
是不是做到了。ok ,举一反三,如果想把图片放在文字左边,或右边,下面呢,对应的有
drawableLeft、drawableRight、drawableBottom四个属性值,来设定文字对应方向的图片,但是却没有设置图片大小的属性值。
要想设置这些图片的大小其实很简单,我们要了解一下下面几个方法:
- getCompoundDrawables() 该方法返回包含控件左,上,右,下四个位置的Drawable的数组
- setBounds(left,top,right,bottom) 指定drawable的边界
- setCompoundDrawables(drawableLeft, drawableTop, drawableRight, drawableBottom) 设置控件左,上,右,下四个位置的Drawable
Button、RadioButton其实都是TextView的子类,这三个方法都是TextView里的方法
所以流程就是,我们首先拿到控件上面位置的drawable,然后给指定drawable的边界,最后再把drawable设置进去,这一段参考了下面的博客
https://blog.csdn.net/qiao0809/article/details/52327618
三:android:layout_weight和android:drawableTop
android:layout_weight="1.0"
layout_weight 用于给一个线性布局中的诸多视图的重要度赋值。
所有的视图都有一个layout_weight值,默认为零,意思是需要显示
多大的视图就占据多大的屏幕空 间。若赋一个高于零的值,则将父视
图中的可用空间分割,分割大小具体取决于每一个视图的layout_weight
值以及该值在当前屏幕布局的整体 layout_weight值和在其它视图屏幕布
局的layout_weight值中所占的比率而定。
举个例子:比如说我们在 水平方向上有一个文本标签和两个文本编辑元素。
该文本标签并无指定layout_weight值,所以它将占据需要提供的最少空间。
如果两个文本编辑元素每一个的layout_weight值都设置为1,则两者平分
在父视图布局剩余的宽度(因为我们声明这两者的重要度相等)。如果两个
文本编辑元素其中第一个的layout_weight值设置为1,而第二个的设置为2,
则剩余空间的三分之二分给第一个,三分之一分给第二个(数值越小,重要度越高)
看代码
不加android:layout_weight="1.0"的情况
加了的情况
android:drawableTop就是将图片放置于某个组件的上方
四:android:padding和android:margin的区别
android:layout_marginLeft指该控件距离边父控件的边距,
android:paddingLeft指该控件内部内容,如文本距离该控件的边距。
如:
当按钮分别设置以上两个属性时,得到的效果是不一样的。
android:paddingLeft="30px":
按钮上设置的内容(例如图片)离按钮左边边界30个像素。
android:layout_marginLeft="30px"
整个按钮离左边设置的内容30个像素
这二个属性是相对的,假设B是A的子控件,设置B的margin和设置A的padding能达到相同的效果。
下面是加了android:paddingLeft="100px" 和没加的效果图
你会发现整个按钮离左边框的距离增大了,至于android:margin这里不过多解释了。。。
下面是一些小标签
- android:text="这里是文字"
- android:textSize="字体大小"
- android:textColor="颜色代码"android:layout_alignParentRight="true"
使当前控件的右端和父控件的右端对齐。这里属性值只能为true或false,默认false。
android:layout_marginLeft="10dip"
使当前控件左边空出相应的空间。
android:layout_toLeftOf="@id/ok"
使当前控件置于id为ok的控件的左边。
android:layout_alignTop="@id/ok"
使当前控件与id控件的上端对齐。padding表示填充,margin表示边距
可通过android:padding属性进行设置,4个方向的边距属性为android:paddingLeft, android:paddingRight, android:paddingTop, and android:paddingBottom.结论:
*android:layout_marginBottom
*android:layout_marginLeft
*android:layout_marginRight
*android:layout_marginTop
上面几个属性的值是根据下面的相对位置的对象的值来做计算的,如果没有相对的对象就以总体布局来计算
*android:layout_below
*android:layout_above
*android:layout_toLeftOf
*android:layout_toRightOf
*android:layout_alignTop*android:layout_centerHrizontal //是否支持横屏或竖屏
*android:layout_centerVertical //这个根据单词的意思:中心垂直
*android:layout_centerInparent //
android:layout_centerInParent="true"//居中在父对象
android:layout_centerInParent="false" ... 浏览器不支持多窗口显示,意思就是说所有页面在单一窗口打开,这样避免了页面布局控制显示问题
下面的相对于父的相对位置
*android:layout_alignParentBottom
*android:layout_alignParentLeft
*android:layout_alignParentRight
*android:layout_alignParentTop
*android:layout_alignWithParentIfMissing
转载于:https://www.cnblogs.com/lklk/p/9361248.html
[Android Studio] 初体验相关推荐
- Android Studio 初体验
Google在I/O2013大会上发布了Android新的开发工具Android Studio,趁周末时间做了一下尝试.有需要的可以 在http://developer.android.com/sdk ...
- 使用Kotlin开发Android应用初体验
使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...
- Android开发初体验
Android开发初体验 本次开发的应用能提出一道道问题,用户点击TRUE或者FALSE来回答问题,该应用则即时做出反馈. 一·该应用由一个activity和一个布局(layout)组成,我们先创建一 ...
- 一加6升级android p,一加6手机升级Android P初体验:系统更智能、操作更流畅!
原标题:一加6手机升级Android P初体验:系统更智能.操作更流畅! 8月7日谷歌发布正式版Android P后,8月15日一加手机领先业界最先放出了一加6的Android P公测版.当然,这极其 ...
- Android RecyclerView初体验
很早之前就听说过RecyclerView这个组件了,但一直很忙没时间学习.趁着周末,就花了一天时间来学习RecyclerView. 准备工作 在Android Studio里新建一个Android项目 ...
- GitHub与Android安装初体验(md版本)
说明: 第一次使用GitHub,安装时难免有些不如人意的地方,写下此文记录心路历程. 首先了解阅读有关的东西,GitHub与Android的作用及用途.配置的环境等,先参考老师发的材料: http:/ ...
- Android Studio 初相遇
前段时间,在我导师的推动下,我们的开发工具从eclipse变成Android Studio(后面简称"AS"),下面是我在这段时间使用AS是遇到的一些问题和处理的方法. 1. 可 ...
- 【AliOS Studio】AliOS Studio初体验
官方安装教程: https://developer.alios.cn/?spm=a2c4e.11155515.0.0.2baab961QQlGHm#/%2Fdevelop%2F3_Developer_ ...
- Android TTS 初体验
http://bbs.apkok.com/thread-1893-1-1.html 一.基础知识 TextToSpeech 简称TTS,称为语音合成,是Android 从1.6版本开始支持的新功能,能 ...
最新文章
- 通过HTTP发包工具了解HTTP协议
- 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集
- 魔法照片pascal程序
- 三菱a系列motion软体_合肥三菱FR-A840-07700-2
- python的scale方法的变体以及使用_Python with用法实例
- php mysql查询出来二叉树的数据_tp框架怎么实现二叉树查询 如图,查询数据库中小明下面的所有人。到底下面多少人,不清楚。 代码如何实现...
- 【Go语言】【11】GO语言的包和函数
- Python字符串expandtabs()
- 从maya中 导入物体 到Uniyt3D 规范 整理
- sql union用法和sql union all用法,sql union效率
- 遥感数据下载网站整理
- SoftEther 介绍
- 微信聊天记录删了怎么恢复找回来2022 微信聊天记录删了怎么恢复找回来步骤
- 华为p60art参数配置 华为p60art怎么样
- java 科学计数法位数_科学记数法android java
- ps无法启动因为计算机中丢失api ms,解决win8下ps提示“丢失api-ms-win-crt-runtime-l1-1-0.dll”的方法...
- zbb20180930 设计模式-单例模式
- 高通平台tp驱动(一)
- Oracle分页查询的两种方法
- 数学知识——概率统计(8)统计推断之参数估计:极大似然估计和最大后验概率