GVKun编程网logo

Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

24

在本文中,我们将为您详细介绍AndroidStudio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)的相关知识,此外,我们还会提供一些关于AndroidStudi

在本文中,我们将为您详细介绍Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)的相关知识,此外,我们还会提供一些关于Android Studio 3.1.3不显示布局设计预览、Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目、Android studio 界面布局的简单介绍、android studio中布局界面无法显示的有用信息。

本文目录一览:

Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)

当我们创建了一个安卓项目后,我们会发现真正建立一个完善的安卓项目并不是想象的那么容易。其实和设计GUI可视化界面一样,开发安卓也需要考虑很多方面,主要考虑的还是界面布局和需要的组件。

 

一:Android用户界面布局管理

        Android系统按照MVC(模型(model)-视图(view)-控制器(controller))设计模式将应用程序的界面设计与功能控制设计分离,类似于前后端分离,可以单独哦修改用户界面和后面的控制代码,而在AS中,前端的界面布局文件是在生成的应用程序框架项目的res资源目录的layout子目录中,文件名为activity_main.xml(创建新项目时可以改名字),可以用界面化的和XML文件共同管理。如果要调用资源文件,就使用R.java的R类,把res目录中的资源与id编号进行映射,用id号进行资源管理。

 

1.布局文件的规范

(1)布局文件作为项目的资源存放在res\layout目录下,是一个xml文件,默认文件名为activity_main.xml。

(2)布局文件的根节点通常是一个布局方式,在根节点内可以添加组件作为结点。

(3)布局文件的根节点必须包含一个命名空间,为了与其他项目进行分离。

如下:

xmlns:android="http://schemas.android.com/apk/res/android"

(4)如果要实现Java程序中控制界面的组件,则必须为界面文件的组件定义一个id,也就是通过id把资源文件以及组件引用过来进行控制。

组件定义格式如下:

android:id="@+id/<组件id>"

 

2.布局文件常用的重要属性值

(1)设置组件大小的属性值

wrap_contont:强制性地使视图扩展以显示全部内容,完整显示其内部的文本和图像,根据组件内容的大小来决定组件的大小。

match_parent:Android2.2以上和fill_parent通用,填充在容器的所有空间。

fill_parent:强制性地使构件扩展,以填充布局单元内尽可能多的空间,就是强制性让它布满整个屏幕。

(2)设置组件大小的单位

px(pixels):像素,即屏幕上的发光点。

dp(或dip,全称为device independent pixels):设备独立像素,一种支持多分辨率设备的抽象单位,和硬件相关。

sp(scaled pixels):比例像素,设置字体大小。

(3)设置组件的对齐方式

在组件中由"android:gravity"属性控制组件的对齐方式,其属性有上(top),下(bottom),坐(left),右(right),水平方向居中(center_horizontal),垂直方向居中(center_vertical)等。

 

3.常见的布局

有关用户界面的布局有下面常见的七种布局。

线性布局(LinearLayout),帧布局(FrameLayout),表格布局(TableLayout),相对布局(RelativeLayout),绝对布局(AbsolateLayout),网格布局(GridLayout),约束布(ConstraintLayout)。而相对布局已使用约束布局替代,绝对布局难以实现多分辨率适配,不建议使用。

(1)线性布局(LinearLayout)

特点:将组件按照水平或垂直方向排列。

特殊属性:由"android:orientation"属性控制排列方式,其属性值有水平(horizontal)和垂直(vertical)两种。

实例:按水平和垂直方向线性布局显示几个按钮。

水平:

 结果如下:

 

 

竖直方向的结果如下:

 

(2)帧布局(FrameLayout)

特点:将组件放置在左上角位置,当添加多个组件时后面的组件将遮盖前面的组件。帧布局会按照添加顺序层叠在一起,默认层叠在左上角位置。

特殊属性:用"layout_gravity"可以设置层叠的位置。

实例:将不同大小的图片进行层叠,这里引用图片的方法可以在用户界面,也可以在源程序控制文件中。

运行结果如下:

(3)表格布局(TableLayout)

特点:将页面分为由行,列构成的单元格。

特殊属性:表格的列数由android:shrinkColumns定义,例如android:shrikColumns = "0,1,2"表示表格为三列,编号为1,2,3。

  • android:collapseColumns:设置需要被隐藏的列的序号

  • android:shrinkColumns:设置允许被收缩的列的列序号

  • android:stretchColumns:设置运行被拉伸的列的列序号

实例:实现类似手机待机界面的六行四列的表格。

首先,将所要显示的图片添加到res资源目录文件drawable-hdpi下,具体过程如下:

选择Project视图,app—>src—>res—>右键new resource directory—>选择resource type (drawable)->density,根据需要,选择合适的分辨率,这里选择high density确认后

会生成一个资源文件夹drawable-hdpi—>将图片文件复制到文件夹里。

 

 然后代码如下:

运行结果如下:

 (4)相对布局(RelativeLayout)

特点:相对其他组件位置进行布局,通过相对定位的方式让控件出现在布局任意位置 。在相对布局中,通过指定id关联其他组件与之右对齐,上下对齐或以屏幕中央方式来排列组件。

特殊常见属性:

    相对于父元素给控件布局(属性值为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_alignLeft  该元素的左边缘和某元素的的左边缘对齐 
    android:layout_alignBottom 该元素的下边缘和某元素的的下边缘对齐 
    android:layout_alignRight  该元素的右边缘和某元素的的右边缘对齐 

    给属性赋予像素值
    android:layout_marginBottom      底边缘的距离 
    android:layout_marginLeft           左边缘的距离 
    android:layout_marginRight         右边缘的距离 
    android:layout_marginTop           上边缘的距离

实例:生成一个组件排列的应用程序。

 

运行结果如下:


Android Studio 3.1.3不显示布局设计预览

Android Studio 3.1.3不显示布局设计预览

自从我上次在android studio中创建一个新项目以来已经过了一段时间,今天当我这样做时,android studio没有显示布局预览中的任何内容.它是一个空白的窗口,上面写着“无需展示”.

我已经尝试过;

更新了sdks工具,
清理项目并重建它,
无效和重新启动的缓存,
主题变化,
但仍然没有.

解决方法:

根据我的经验,切换到“设计”.click“强制刷新布局”

Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目

Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目

一:什么是安卓

1.Android 是一种基于 Linux 的自由及开放源代码的操作系统。

2.Android 操作系统最初由 Andy Rubin 开发,主要支持手机。

3.Android 一词的本义指 “机器人”,同时也是 Google 于 2007 年 11 月 5 日宣布的基于 Linux 平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成。

4. 优点:开放,平等,方便,硬件复杂。
 
二:Android 的体系结构
安卓采用了分层的体系结构。分为四层。
1. 应用程序层
系统自带程序和开发人员的程序是完全平等的。
2. 应用程序框架层
就是一些应用程序的框架。
3. 系统运行库
(1) 程序库
包括一些 C/C++ 程序库,通过应用程序为开发者提供服务。
(2) Android 运行时库
包括一个核心库,有大多数功能,Android 的虚拟机 Dalvik 也包含在里面。
4.Linux 内核
Android 的核心服务依赖于 Linux 内核。
 
三:Android 开发的分类
可分为下面两大类:
1. 系统移植开发
是在具体硬件上开发,涉及到底层需要移植开发 Linux 中相关的设备驱动程序及 Android 本地框架中的硬件抽象层。在移植时只需实现这些接口即可。
2.Android 应用程序开发
应用程序开发可以基于硬件设备,也可以基于 Android 模拟器,处于顶层,使用 Android 系统提供的 Java 框架 (API) 进行开发。
 
四:Android Studio 开发环境搭建
1. 简介
  (1) 是基于 IntelliJ IDEA 的 Android 开发环境。
  (2) 在安装 Android Studio 之前需安装 Java JDK 环境。
2. 设置 Android SDK
第一次运行时需设置,设置的位置如下:
这里选择的是 Android 9.0。
3. 创建虚拟设备 AVD
(1) 简介
   AVD 主要是在 PC 端模拟手机环境来运行 Android 操作系统平台,每个平台都有自己的内核,系统图像,外观显示,用户数据区和仿真的 SD 卡等。
创建虚拟环境如下:
这里我已经创建了两个虚拟环境了,如果你没有创建,还需要自己创建。
4. 设置环境变量
在环境变量中,系统变量下,需要找到 Path 变量,并找到 Android Studio 安装目录下的 platform-tools 完整路径和 tools 完整路径,并添加到 Path 路径:
 
五:创建第一个 APP-- 生成 Android 应用框架
1. 创建项目的方法这里不介绍了,网上一大堆,下面就讲解遇到的问题。
2. 创建好的项目结构如下:
3. 运行 AVD 虚拟机,会出现下面的问题:
这时候就需要下面的解决方法:
重启电脑,然后按 F2 或者 F10,进入到 BIO 中, 选择 Config --cpu -- Intel-Virtualization Technology 将这个选项开启 。
由于这种方法会很慢,因此大部分不用该方法。
4. 在真机上运行程序
在手机上打开开发者模式,并打开 USB 调试:
 然后再选择如下:
然后手机上就会出现下面的运行成功结果。
 

Android studio 界面布局的简单介绍

Android studio 界面布局的简单介绍

这两天通过网上的一些视频教学,了解学习了 AS 的布局问题,下面对布局进行简单介绍:

主要包括:

1、LinearLayout (线性布局)

2、View 视图

一、LinearLayout

(1) Layout_width: 设置的是当前视图的宽度,设置的属性包括 match_parent,wrap_content, 或者是 px 值,dp 值

match_parent 代表的当前视图继承父视图的宽度,如果没有父视图,那么继承当前手机屏幕的宽度。

wrap_content 显示时,按照当前视图的具体大小来显示。

或者我们可以给当前视图直接赋予固定的属性,常用的单位有 px 和 dp。

px 大家都知道是像素点的单位,但是我们日常生活中的手机会 因为款式问题,在像素的分布方面有着较大的区别,所以我们一般会采用手机的计量单位 dp。

(2) Layout_height: 设置的是当前视图的高度,其属性和 Layout_width 基本一致,这里就不重复了。

(3) Layout_background: 设置背景颜色。

(4) orientation: 用于设置视图的牌排列方式,vertical 是水平排列,horizotal 是垂直排列。

(5) pad: 内部元素之间的间隔 (pad 是四周的间隔,paddingLeft 是与左侧的间隔,还有其他的 paddingRight,paddingButton,paddingStart 等,根据直译即可知道间隔方向)。

(6) gravity: 设置对齐方式,例如:center 为居中对齐,left 为左对齐。

二、View 视图

View 视图包含在 LinearLayout 中,其主要属性包括:

(1) Layout_height、Layout_width、Layout_background 等属性和上面提到的基本一致,在这里就不重复了。

(2) layout_weight: 是对当前剩余空间按照权重分配 (例如 1:1 的话,会各占剩下部分的 50%)。

 

下面直接上源码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"

    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff"
        android:gravity="left"
        android:layout_weight="1"
        >
        <View
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:background="#ff9876"
        android:layout_weight="1"
        />
        <View
            android:layout_width="0dp"
            android:layout_height="match_parent"
            android:background="#00f876"
            android:layout_weight="1"
            />
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:paddingLeft="130dp">
        <TextView
            android:layout_width="wrap_content"
            android:layout_height="match_parent"
            android:text="Hello World!"/>
    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:background="#ffffff"
        android:gravity="left"
        android:layout_weight="1"
        >
        <View
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:background="#ffffff"
            android:layout_weight="1"
            />
        <View
            android:layout_width="50dp"
            android:layout_height="match_parent"
            android:background="#0000ff"
            android:layout_weight="1"
            />
    </LinearLayout>
</LinearLayout>

最后程序运行出的截图为:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

    以上就是本次博客的全部内容了,如果有不懂的可以评论询问哦。

android studio中布局界面无法显示

android studio中布局界面无法显示

把style.xml中theme改一下就好了

在Theme.AppCompat.Light.DarkActionBar前面加上Base.  如下

<!-- Base application theme. -->
<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
   <!-- Customize your theme here. -->
</style>



今天关于Android Studio安卓学习笔记(三)Android用户界面的设计布局与组件(一)用户界面布局设计(1)的讲解已经结束,谢谢您的阅读,如果想了解更多关于Android Studio 3.1.3不显示布局设计预览、Android Studio 安卓学习笔记 (一) 安卓与 Android Studio 运行第一个项目、Android studio 界面布局的简单介绍、android studio中布局界面无法显示的相关知识,请在本站搜索。

本文标签: