[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这里不过多解释了。。。

下面是一些小标签

  1. android:text="这里是文字"
  2. android:textSize="字体大小"
  3. 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

posted on 2018-07-24 17:15 Azure╰ 阅读(...) 评论(...) 编辑 收藏

转载于:https://www.cnblogs.com/lklk/p/9361248.html

[Android Studio] 初体验相关推荐

  1. Android Studio 初体验

    Google在I/O2013大会上发布了Android新的开发工具Android Studio,趁周末时间做了一下尝试.有需要的可以 在http://developer.android.com/sdk ...

  2. 使用Kotlin开发Android应用初体验

    使用Kotlin开发Android应用初体验 昨晚,最近一届的谷歌IO大会正式将Kotlin确定为了官方开发语言,作为一名Android开发鸟,怎么能不及时尝尝鲜呢? Kotlin的简要介绍 在开发之 ...

  3. Android开发初体验

    Android开发初体验 本次开发的应用能提出一道道问题,用户点击TRUE或者FALSE来回答问题,该应用则即时做出反馈. 一·该应用由一个activity和一个布局(layout)组成,我们先创建一 ...

  4. 一加6升级android p,一加6手机升级Android P初体验:系统更智能、操作更流畅!

    原标题:一加6手机升级Android P初体验:系统更智能.操作更流畅! 8月7日谷歌发布正式版Android P后,8月15日一加手机领先业界最先放出了一加6的Android P公测版.当然,这极其 ...

  5. Android RecyclerView初体验

    很早之前就听说过RecyclerView这个组件了,但一直很忙没时间学习.趁着周末,就花了一天时间来学习RecyclerView. 准备工作 在Android Studio里新建一个Android项目 ...

  6. GitHub与Android安装初体验(md版本)

    说明: 第一次使用GitHub,安装时难免有些不如人意的地方,写下此文记录心路历程. 首先了解阅读有关的东西,GitHub与Android的作用及用途.配置的环境等,先参考老师发的材料: http:/ ...

  7. Android Studio 初相遇

    前段时间,在我导师的推动下,我们的开发工具从eclipse变成Android Studio(后面简称"AS"),下面是我在这段时间使用AS是遇到的一些问题和处理的方法. 1.  可 ...

  8. 【AliOS Studio】AliOS Studio初体验

    官方安装教程: https://developer.alios.cn/?spm=a2c4e.11155515.0.0.2baab961QQlGHm#/%2Fdevelop%2F3_Developer_ ...

  9. Android TTS 初体验

    http://bbs.apkok.com/thread-1893-1-1.html 一.基础知识 TextToSpeech 简称TTS,称为语音合成,是Android 从1.6版本开始支持的新功能,能 ...

最新文章

  1. 通过HTTP发包工具了解HTTP协议
  2. 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集
  3. 魔法照片pascal程序
  4. 三菱a系列motion软体_合肥三菱FR-A840-07700-2
  5. python的scale方法的变体以及使用_Python with用法实例
  6. php mysql查询出来二叉树的数据_tp框架怎么实现二叉树查询 如图,查询数据库中小明下面的所有人。到底下面多少人,不清楚。 代码如何实现...
  7. 【Go语言】【11】GO语言的包和函数
  8. Python字符串expandtabs()
  9. 从maya中 导入物体 到Uniyt3D 规范 整理
  10. sql union用法和sql union all用法,sql union效率
  11. 遥感数据下载网站整理
  12. SoftEther 介绍
  13. 微信聊天记录删了怎么恢复找回来2022 微信聊天记录删了怎么恢复找回来步骤
  14. 华为p60art参数配置 华为p60art怎么样
  15. java 科学计数法位数_科学记数法android java
  16. ps无法启动因为计算机中丢失api ms,解决win8下ps提示“丢失api-ms-win-crt-runtime-l1-1-0.dll”的方法...
  17. zbb20180930 设计模式-单例模式
  18. 高通平台tp驱动(一)
  19. Oracle分页查询的两种方法
  20. 数学知识——概率统计(8)统计推断之参数估计:极大似然估计和最大后验概率

热门文章

  1. 洛谷 2585 [ZJOI2006]三色二叉树——树形dp
  2. GET和POST两种基本请求方法的区别(转载)
  3. 微软官方windows phone开发视频教程第二天视频(附下载地址)
  4. MySQL优化之三:SQL语句优化
  5. Codeforses 185 A Plant 思维 规律
  6. 学习Linux坚持贴!
  7. NOIp #2011
  8. 时间轴CSS的Demo
  9. linux 逻辑卷扩展
  10. Give root password for maintenance 问题解决.