前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Android用户界面开发概述

Android用户界面开发概述

作者头像
分享达人秀
发布于 2018-02-02 09:41:17
发布于 2018-02-02 09:41:17
2.6K00
代码可运行
举报
文章被收录于专栏:分享达人秀分享达人秀
运行总次数:0
代码可运行

相信通过前面15期的学习,Android的开发环境已经基本掌握了,如果仍有问题,欢迎到Android零基础入门技术讨论微信群交流,从本期开始正式来一步一步踏入Android开发之路。

Android应用开发的一项内容就是用户界面的开发。Android提供了非常丰富的用户界面组件,借助于这些用户界面组件,开发者可以非常方便地进行用户界面开发,而且可以开发出非常优秀的用户界面。

一、界面UI元素介绍

Android应用是运行于手机系统上的程序,这种程序给用户的第一印象就是用户界面。接下来从以下几个方面来认识了解Android的界面UI元素。

1.1视图组件View

在Android中View类是最基本的一个UI类,基本上所有的高级UI组件都是继承View类实现的。Android应用的绝大部分UI组件都放在android.widget包及其子包、android.view包及其子包中,可以看到Android应用的所有UI组件都继承了 View类。View类是Android系统平台上用户界面表示的基本单元,View的一些子类被统称为Widgets (工具),提供了诸如文本输入框和按钮之类的UI对象的完整实现。

一个视图(View)在屏幕上占据了一块矩形区域,它负责渲染这块矩形区域(如将这块矩形区域变成其他颜色),也可以处理这块矩形区域发生的事件(如用户单击事件),并且可以设置这块区域是否可见、是否可以获取焦点等。

1.2视图容器组件ViewGroup

View类有一个非常重要的子类ViewGroup,其为View的一个扩展,可以容纳多个 View,通过ViewGroup类可以创建有联系的子View组成的复合控件。

下图表示Android图形用户界面的组件层次。

从上图可以看出,多个视图组件(View)可以存放在一个视图容器(ViewGroup)中,该容器可以与其他视图组件共同存放在另一个容器中,但是一个界面文件中必须有且只有一个容器作为根结点。

Android的所有UI组件都是建立在View、ViewGroup基础之上的,Android采用了 “组合器”设计模式来设计View和ViewGroup。对于一个Android应用的图形用户界面来说,ViewGroup作为容器来盛装其他组件,而ViewGroup里除了可以包含普通View组件之外,还可以再次包含ViewGroup组件。

1.3布局组件Layout

Android的界面组件比较多,为了更好的管理用户界面里的各组件,Android提供了布局组件来进行管理。通过使用布局组件,Android应用的图形用户界面具有良好的平台无关性。

目前Android中主要有六种布局,分别如下:

LinearLayout(线性布局)

按照水平或垂直的顺序将子元素(可以是控件或布局)依次按照顺序排列,每一个元素都位于前面一个元素之后。

RelativeLayout(相对布局)

按照子元素之间的位置关系完成布局的,作为Android系统五大布局中最灵活也是最常用的一种布局方式,非常适合于一些比较复杂的界面设计。

TableLayout(表格布局)

以行和列的形式对控件进行管理,每一行为一个TableRow对象,或一个View控件。

FrameLayout(帧布局)

将所有的子元素放在整个界面的左上角,后面的子元素直接覆盖前面的子元素。

AbsoluteLayout(绝对布局)

将所有的子元素通过设置android:layout_x 和 android:layout_y属性,将子元素的坐标位置固定下来。

GridLayout(网格布局)

是Android 4.0新增的布局管理器,把整个容器划分成为"行*列"个网格,每个网格可以放置一个组件,另外,也可以设置一个组件横跨多个列和多个行。

以上几种布局类图如下图 所示:

关于布局组件的内容,会在后续课程进行详细学习,此处不做过多说明。

1.4布局参数LayoutParams

LayoutParams是用来设置视图布局的基类,基本的LayoutParams类只是用来描述视图的宽度和高度。

Android提供的布局类都是LayoutParams的子类,LayoutParams的子类主要有:

 AbsListView.LayoutParams

 AbsoluteLayout.LayoutParams

 FrameLayout.LayoutParams

 LinearLayout.LayoutParams

 RadioGroup.LayoutParams

 RelativeLayout.LayoutParams

 TableLayout.LayoutParams

 TableRow.LayoutParams

 ViewGroup.MarginLayoutParams

 WindowManager.LayoutParams

其中常用的是RelativeLayout.LayoutParams、LinearLayout.LayoutParams、ViewGroup.MarginLayoutParams。将会在后续内容中陆续学习,此处不在赘述。

二、UI界面通用属性和方法

View类是所有UI组件的基类,其包含的XML属性和方法是所有组件都可使用的,接下来一起先来整体学习,如下表所示。

XML属性

相关方法

使用说明

android:alpha

setAlpha(float)

设置该组件的透明度

android:background

setBackgroundResource(int)

设置该组件的背景颜色

android:clickable

setClickable(boolean)

设置该组件是否可以激发单击事件

android:contentDescription

setContentDescription(CharSequence)

设置该组件的内容描述信息

android:drawingCacheQuality

setDrawingCacheQuality(int)

设置该组件所使用的绘制缓存的质量

android:elevation

setElevation(float)

设置该组件“浮”起来的高度,通过设置该属性可让该组件呈现3D效果

android:fadeScrollbars

setScrollbarFadingEnabled(boolean)

当不使用该组件的滚动条时,是否淡出显示滚动条

android:fadingEdge

setVerticalFadingEdgeEnabled(boolean)

设置滚动该组件时组件边界是否使用淡出效果

android:fadingEdgeLength

getVerticalFadingEdgeLength()

设置淡出边界的长度

android:focusable

setFocusable(boolean)

设置该组件是否可以得到焦点

android:focusablelnTouchMode

setFocusablelnTouchMode(boolean)

设置该组件在触摸模式下是否可以得到焦点

android:id

setld(int)

设置该组件的唯一标识。在java代码中可通过findViewById来获取它

android:isScrollContainer

setScrollContainer(boolean)

设置该组件是否作为可滚动容器使用

android:keepScreenOn

setKeepScreenOn(boolean)

设置该组件是否会强制手机屏幕一直打开

android:longCIickable

setLongClickable(boolean)

设置该组件是否可以响应长单击事件

android:minHeight

setMinimumHeight(int)

设置该组件的最小高度

android:minWidth

etMinimumWidth(int)

设置该组件的最小宽度

android:nextFocusDown

setNextFocusDownld(int)

设置焦点在该组件上,且单击向下键时获得焦点的组件ID

android:nextFocusLeft

setNextFocusLefUd(int)

设置焦点在该组件上,且单击向左键时获得焦点的组件ID

android:nextFocusRight

setNextFocusRightld(int)

设置焦点在该组件上,且单击向右键时获得焦点的组件ID

androidrnextFocusUp

setNexlFocusUpId(int)

设置焦点在该组件上,且单击向上键时获得焦点的组件ID

android.onClick

为该组件的单击事件绑定监听器

android:padding

setPadding(int,int,int,int)

在组件的四边设置填充区域

android:paddingBottom

setPadding(int,int,int,int)

在组件的下边设置填充区域

android:paddingLeft

setPadding(int,int,int,int)

在组件的左边设置填充区域

android:paddingRight

setPadding(int,int,int,int)

在组件的右边设置填充区域

android:paddingTop

setPadding(int,int,int,int)

在组件的上边设罝填充区域

android:rotation

setRotation(float)

设置该组件旋转的角度

android:rotationX

setRotationX(float)

设置该组件绕Xi轴旋转的角度

android:rotationY

setRotationY(float)

设置该组件绕Y轴旋转的角度

android:saveEnabled

setSaveEnabled(boolean)

如果设置为false,那么当该组件被冻结时不会保存它的状态

android:scaleX

setScaleX(float)

设置该组件在水平方向的缩放比

android:scaleY

setScaleY(float)

设置该组件在垂直方向的缩放比

android:scrollX

该组件初始化后的水平滚动偏移

android:scrollY

该组件初始化后的垂直滚动偏移

android:scrollbarAlwaysDrawHorizontalTrack

设置该组件是否总是显示水平滚动条的轨道

android:scrollbarAlwaysDrawVerticalTrack

设置该组件是否总是显示垂直滚动条的轨道

android:scrollbarDefaultDelayBeforeFade

setScrollBarDefaultDelayBeforeFade(int)

设置滚动条在淡出隐藏之前延迟多少毫秒

androidiscrollbarFadeDuration

setScrollBarFadeDuration(int)

设置滚动条淡出隐藏过程需要多少秒

android:scrol1barSize

setScrollBarSize(int)

设置垂直滚动条的宽度和水平滚动条的高度

android:scrollbarStyle

setScrollBarStyle(int)

设置滚动条的风格和位置。该属性支持如下属性值: insideOverlay insidelnset outsideOverlay outsidelnset

androidiscrollbarThumbHorizontal

设罝该组件的水平滚动条的滑块对应的Drawable对象

android:scrollbarThumbVertical

设罝该组件的垂直滚动条的滑块对应的Drawable对象

android:scrollbarTrackHorizontal

设置该组件的水平滚动条的轨道对应的Drawable对象

android:scrollbarTrackVertical

设置该组件的垂直滚动条的轨道对应的Drawable对象

android:scrollbars

定义该组件滚动时显示几个滚动条。 该属性支持如下厲性值: none:不显示滚动条 horizontal:显示水平滚动条 vertical:显示垂直滚动条

Android:soundEffectsEnabled

setSoundEffectsEnabled(boolean)

设置该组件被单击时是否使用音效

android:tag

为该组件设置一个字符串类型的tag值。接下来可通过View的getTag()获取该字符串,或通过findViewWithTag() 査找该组件

android:transformPivotX

setPivolX(float)

设置该组件旋转时中心的X坐标

android:transformPivotY

setPivolY(float)

设置该组件旋转时中心的Y坐标

android:translationX

setTranslationX(float)

设置该组件在X方向上的位移

android:translationY

setTranslationY(float)

设置该组件在Y方向上的位移

android:translationZ

setTranslationZ(float)

设置该组件在Z方向上的位移

android:visibility

setVisibility(int)

设置该组件时候可见

ViewGroup继承了 View类,当然也可以当成普通View来使用,但ViewGroup主要还是当成容器类使用。但由于ViewGroup是一个抽象类,因此实际使用中通常总是使用ViewGroup 的子类来作为容器,例如各种布局管理器。

ViewGroup容器控制其子组件的分布依赖于ViewGroup.LayoutParams、ViewGroup. MarginLayoutParams两个内部类。这两个内部类中都提供了一些XML属性,ViewGroup容器中的子组件可以指定这些XML属性。

其中ViewGroup.LayoutParams所支持的两个XML属性如下:

 android:layout_width:指定该组件的布局宽度。

 android:layout_height:指定该组件的布局高度。

关于上面这两个属性,其属性值一般为如下3个属性值其一。

fill_parent

指定子组件的高度、宽度与父容器组件的高度、宽度相同(实际上还要减去填充的空白距离)。

match_parent

该属性值与fill_parent完全相同,而且从Android 2.2开始就推荐使用这个属性值来代替fill_parent。

wrap_content

指定子组件的大小恰好能包裹它的内容即可。

除了以上这3个属性值,还可以指定具体的宽高像素值,如80dp。其中dp为一个尺寸单位。

在正式学习Android组件之前,先来一起了解几个基本概念。

px

像素(pixels),1px代表屏幕上一个物理的像素点。px单位不被建议使用,因为同样100px的图片,在不同手机上显示的实际大小可能不同。偶尔用到px的情况,是需要画1像素表格线或阴影线的时候,用其他单位如dp会显得模糊。

dp

设备独立像素(Density-independent pixel),一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp=1px,但随着屏幕密度的改变,dp与px的换算会发生改变,换算公式为dips=(pixs*160)/densityDpi。

dip

设备独立像素,与dp完全相同,只是名字不同而已。在早期的Android版本里多使用dip,后来为了与sp统一就建议使用dp。

sp

比例像素(scale-independent pixel),主要处理字体的大小,可以根据用户的字体大小首选项进行缩放。当文字尺寸是“正常”时1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时1sp>1dp=0.00625英寸。

in

英寸,标准长度单位,1英寸=2.54厘米(约)。

mm

毫米,标准长度单位。

pt

磅(point),标准长度单位,1pt=1/72英寸=0.035厘米。

ppi

每英寸像素数(pixel per inch),该值越高,则屏幕越细腻。

dpi

每英寸多少点(dot per inch),该值越高,则图片越细腻。

安卓端屏幕大小各不相同,根据其像素密度,主要分为几种规格,如下表所示。

密度

ldpi

mdpi

hdpi

xhdpi

xxhdpi

密度值

120

160

240

320

480

密度值比

0.75

1

1.5

2

3

代表分辨率

240*320

320*480

480*800

720*1280

1080*1920

ViewGroup.MarginLayoutParams用于控制子组件周围的页边距(Margin,也就是组件四周的空白),它支持的XML属性如下表所示。

XML属性

相关方法

说明

android:layout_marginBottom

setMargins(int, int, int, int)

指定该子组件下边的页边距

android:layout_marginLeft

setMargins(int, int, int, int)

指定该子组左下边的页边距

android:layout_marginRight

setMargins(int, int, int, int)

指定该子组件右边的页边距

android:layout_marginTop

setMargins(int, int, int, int)

指定该子组件上边的页边距

三、创建UI界面

在前面的内容指出过,Android推荐使用XML布局文件来定义用户界面,而不是使用Java代码来开发用户界面,所有组件都提供了两种方式来控制组件的行为。

 在XML布局文件中通过XML属性进行控制。

 在Java程序代码中通过调用方法进行控制。

实际上不管使用哪种方式,它们控制Android用户界面行为的本质是完全一样的。大部分时候,控制UI组件的XML属性还有对应的方法。UI界面的创建主要分为如下三种情况。

3.1使用XML布局文件

实际上在创建HelloWorld应用程序的时候就是使用该方法,这种方法是Android推荐使用的,不仅简单、明了,而且可以将应用的视图控制逻辑从Java代码中分离出来,放入XML文件中控制,从而更好地体现MVC原则。

当我们在Android应用的app/src/main/res/layout目录下定义一个XML布局文件之后(R.java会自动收录该布局资源),Java代码可通过如下方法在Activity中显示该视图:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
setContentView (R.layout.<资源文件名字>);

当在布局文件中添加多个UI组件时,都可以为该UI组件指定android:id属性,该属性的属性值代表该组件的唯一标识。接下来如果希望在Java代码中访问指定UI组件,则可通过如下代码来访问它:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
findViewByld (R.id.<android.id 属性值>);

一旦在Java程序中获得指定UI组件之后,接下来就可以通过代码来控制各UI组件的外观行为了,包括为UI组件绑定事件监听器等。

3.2使用Java代码

虽然Android推荐使用XML布局文件来控制UI界面,但如果开发者愿意,Android允许开发者完全在Java代码中控制UI界面。 如果希望在代码中控制UI界面,那么所有的UI组件都将通过new关键字创建出来,然后以合适的方式添加到UI界面即可。

为了更好的学习这一块内容内容,在HelloWorld工程中将app/src/main/java/MainActivity.java文件的代码修改一下,具体控制代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main);


        // 创建一个线性布局
        LinearLayout layout = new LinearLayout(this);
        layout.setOrientation(LinearLayout.VERTICAL);

        // 创建一个显示Hello World!的TextView
        TextView show = new TextView(this);
        show.setText("Hello World!");

        // 向layout容器添加一个TextView
        layout.addView(show);

        // 设置该Activity显示layout
        setContentView(layout);
    }
}

从上面程序的字代码可以看出,该程序中所用到的UI组件都是通过new关键字创建出来的,然后程序使用LinearLayout容器来容纳这些UI组件,这样就组成了图形用户界面。

从上面的程序代码中可以看出,创建UI组件时需要传入一个this参数,这是由于Context代表访问Android应用环境的全局信息的 API。让UI组件持有一个Context参数,可以让这些UI组件通过该Context参数来获取Android 应用环境的全局信息。Context本身是一个抽象类,Android应用的 Activity、Service 都继承了 Context,因此Activity、Service都可直接作为Context使用。关于这一块的内容现在可能会看不太懂,不过没关系,经过后续的学习就明白了。

通过XML布局和通过Java代码都可以实现同样的功能,但是发现通过Java代码实现程序非常臃肿,而用XML布局代码要简单得多,因此在开发中不推荐使用这种方式。

3.3混合使用XML布局文件和Java代码

前面己经提到,完全使用Java代码来控制UI界面不仅烦琐,而且不利于解耦;而完全利用XML布局文件来控制UI界面虽然方便、便捷,但难免有失灵活。因此有些时候,可能需要混合使用XML布局文件和代码来控制UI界面。

当混合使用XML布局文件和代码来控制UI界面时,习惯上把变化小、行为比较固定的组件放在XML布局文件中管理,而那些变化较多、行为控制比较复杂的组件则交给Java代码来管理。

此处不做过多介绍,在后续课程中会陆续接触到这种混合使用的方式来控制UI界面。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-07-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 分享达人秀 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
这就是低配版「钢铁侠」吗?略输颜值,但毕竟是飞起来了
一直以来,钢铁侠托尼 · 史塔克(Iron Man)深受全球漫威影迷的喜爱,一身高科技「铁衣」,御空飞行,着实令人羡慕。
机器之心
2022/02/18
2770
这就是低配版「钢铁侠」吗?略输颜值,但毕竟是飞起来了
云计算和仿真能擦出什么样的火花?
云概念已经有一段时间了。怎么了?如果可以的话,我们不必买一堆软件和工作站。对个人来说使用模拟并不是更好。那么,模拟计算能否走向云计算呢?数据安全吗?使用方便吗?在远算云平台可以给出答案
开物小编
2021/04/25
1.3K0
综述:CFD的未来之路
计算流体动力学(CFD)于近50年来兴起,是一门相对年轻的学科。但远不如上个世纪80年代,过去的15年里,计算流体力学(CFD)的发展一直停滞不前。
CAE之家
2022/04/21
2K0
综述:CFD的未来之路
【Big Computing】HPC大计算,挑战深度学习的计算力黑洞
2015 高性能计算用户大会 9月24日,由亚洲超算协会联合浪潮等主办的2015高性能计算用户大会在北京举行。本次大会围绕目前的新技术趋势提出“大计算”理念,重点聚焦深度学习和工业应用等热点话题,分享在面向百亿亿次新的计算时代下的技术挑战和突破。 大会汇集了36位国内外权威专家,包括劳斯莱斯公司高性能计算技术总监Yoon Ho、IDC副总裁Earl C. Joseph II、美国再生能源国家实验室材料研究中心理论研究室主任魏苏淮、国际深度学习知名专家新加坡国立大学副教授颜水成等嘉宾将在大会发表主题演讲。同
新智元
2018/03/13
1K0
【Big Computing】HPC大计算,挑战深度学习的计算力黑洞
1%大气密度也能飞?NASA把无人机送上火星,最具野心探测计划启动
7 月 30 日,在美国宇航局 NASA 成功发射的 MARS 2020 任务中,「宇宙神 5」型运载火箭将最新一代火星探测器毅力号 (Perseverance)送上轨道。
机器之心
2020/08/04
3910
更智能更高效-解析Autodesk CFD2018的新型CFD技术+全版本安装包
计算流体动力学(CFD)是一种广泛应用于流体动力学、热传导、燃烧和空气动力学等领域的分析工具。随着高性能计算技术和CFD软件的发展,CFD已成为现代工业制造和设计领域不可或缺的技术之一。
用户10313071
2023/04/11
4690
更智能更高效-解析Autodesk CFD2018的新型CFD技术+全版本安装包
刘军:18年“老兵”眼中的HPC与大数据、深度学习的融合
关注高性能计算(HPC)的朋友们不会忘记今年7月第45期全球超级计算机TOP500排名,中国国防科学技术大学研制,部署于中国广州超算中心的天河二号再次荣登榜首,连续第5次成为TOP500冠军。这还是在
CSDN技术头条
2018/02/09
1.2K0
刘军:18年“老兵”眼中的HPC与大数据、深度学习的融合
HPC技术趋势:HPDA、深度学习、软件定义和机柜即HPC
百度首席科学家吴恩达(Andrew Ng)曾经说,深度学习的前沿正转移到高性能计算(HPC),NVIDIA、AMD及Google、阿里巴巴等公司也确实都在为深度学习研发HPC的新能力。那么,深度学习任务为HPC注入了哪些新的东西?除了深度学习,HPC还有哪些值得关注的技术趋势?在9月24日的2015高性能计算用户大会(HPCUF2015)上,北京航空航天大学教授、国家863计划“高性能计算机及其核心软件”重大专项总体组组长钱德沛,浪潮集团高性能计算总经理刘军,以及IDC 副总裁、IDC HPC User F
CSDN技术头条
2018/02/09
1.7K0
HPC技术趋势:HPDA、深度学习、软件定义和机柜即HPC
有哪些主流的科学计算是可以利用GPU加速?这一篇让你看明白!
科学计算是指应用计算机处理科学研究和工程技术中所遇到的数学计算。在现代科学和工程技术中,经常会遇到大量复杂的数学计算问题,这些问题用一般的计算工具来解决非常困难,而用计算机来处理却非常容易。 每次用户
GPUS Lady
2018/04/02
3K0
有哪些主流的科学计算是可以利用GPU加速?这一篇让你看明白!
美国削减科研经费限制移民,将输掉AI竞赛并丧失国际霸主地位
【新智元导读】世界上最有影响力的国际时事刊物之一《外交政策》(Foreign Policy)撰文称,美国若再不采取行动,将输掉人工智能竞赛,丧失全球霸主的地位。文章分析了相较于俄中两国,美国在人工智能领域的劣势和应采取何种应对措施。 大约60年前,当时的参议院多数党领袖Lyndon B. Johnson曾警告,谁赢得太空竞赛,谁就会获得对世界的绝对控制。 无独有偶,最近俄罗斯总统普京表示,“谁成为人工智能领域的领导者,谁就将成为世界的统治者。” Johnson和普京或许会被指责为过于夸张。 但是他们对技术力
新智元
2018/03/21
7080
基于天河超级计算机的新冠药物筛选成果入围国际戈登贝尔奖评选
11月4日,美国计算机协会(ACM)公布,国家超级计算天津中心联合国防科技大学计算机学院、海南大学药学院、中山大学药学院、中国海洋大学医药学院、美国肯塔基大学药学院等单位,在天河新一代超级计算机上完成的“基于自由能微扰-绝对结合自由能方法的大规模新冠药物虚拟筛选”工作成功入围2021年度的戈登贝尔新冠特别奖,这是我国首次入围该特别奖奖项。
DrugAI
2021/11/15
5020
基于天河超级计算机的新冠药物筛选成果入围国际戈登贝尔奖评选
中美决战百亿亿次E级超算冠军!天河三号原型机国产系统+芯片曝光
【新智元导读】中国自主研发的新一代百亿亿次超级计算机“天河三号”E级原型机完成研制部署!它采用了三种国产自主高性能计算和通信芯片,运算能力将比“天河一号”提高200倍,存储容量提高100倍!根据科技部计划,“天河三号”将于2020年研制成功。
新智元
2018/08/01
7840
中美决战百亿亿次E级超算冠军!天河三号原型机国产系统+芯片曝光
神威·太湖之光获戈登·贝尔奖,中国超算软硬兼施实现零的突破
【新智元导读】北京时间今日凌晨 4:20 时许美国盐湖城 SC16大会上,我国自主研发的超算系统“神威·太湖之光”继日前蝉联TOP 500世界第一殊荣后,一举拿下高性能计算应用最高奖“戈登•贝尔奖”,实现了我国在该奖项上零的突破,成为中国高性能计算应用发展新的里程碑。 2016年11月17日(北京时间 18日凌晨4:20左右),美国盐湖城 SC16 大会上,我国全自主国产处理器构建的超级计算机“神威·太湖之光”,继不久前蝉联TOP 500榜单世界第一后,一举拿下“戈登•贝尔”奖,实现了我国高性能计算应用在此
新智元
2018/03/26
1.7K0
神威·太湖之光获戈登·贝尔奖,中国超算软硬兼施实现零的突破
机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖
在前世界第一超算 Summit 上,研究人员在保持「从头算」精度的前提下成功模拟了 1 亿原子的运动轨迹,将超大系统的分子动力学模拟带进了一个新时代。
深度学习技术前沿公众号博主
2020/12/01
7840
机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖
HPC走出全新路线:《开放架构HPC技术与生态白皮书》注解
数字经济大时代,创新驱动大环境,HPC已不再是阳春白雪,而受到越来越多人的关注。
用户2908108
2023/02/26
7670
HPC走出全新路线:《开放架构HPC技术与生态白皮书》注解
黄学东等多名华人当选,2023美国工程院院士名单出炉
机器之心报道 机器之心编辑部 今日,美国工程院公布了新增院士名单,包括 106 名院士和 18 名外籍院士。 当选美国国家工程院院士是工程领域专家的最高专业荣誉之一,以表彰入选者「在工程研究、实践、教育等方面做出的重大贡献」,「在新兴领域技术做出的开拓性工作和传统工程领域中的重大贡献」以及「在开发 / 实施工程教育方面的创新贡献」。 在今年 10 月 举办的 NAE 年度会议上,这些新当选的成员将被正式任命。 本次入选的学者包括我们非常熟悉的机器学习研究者,如微软黄学东、哥大张世富等。 华人院士 张世富
机器之心
2023/02/23
4580
黄学东等多名华人当选,2023美国工程院院士名单出炉
云计算如何助力夯实制造业“底盘”?材料科学领域专家学者分享新材料前沿技术成果
新材料技术是我国制造业的“底盘技术”,在人工智能、云计算等信息技术的加持下,新材料的发现与设计、分析与计算迎来了哪些变化?8月26日,腾讯教育联合腾讯云、腾讯量子实验室、龙讯旷腾、NVIDIA共同举办云计算助力材料多尺度计算研讨会,邀请11位材料科学领域专家学者分享多尺度计算模拟与云计算领域的最新进展、技术及成果,推动多尺度计算模拟的理论发展和应用探索。 腾讯杰出科学家、腾讯量子实验室负责人张胜誉,龙讯旷腾CEO吕海峰,香港城市大学讲座教授张瑞勤,北京航空航天大学物理学院院长、教授吕广宏,中国科学院半导体
鹅老师
2022/09/02
6650
云计算如何助力夯实制造业“底盘”?材料科学领域专家学者分享新材料前沿技术成果
美国超算将重夺全球第一,性能超神威·太湖之光2倍
新智元编译 来源:Wired、top500.org 编辑:肖琴 【新智元导读】美国Summit超级计算机现在已经在美国橡树岭国家实验室运行,峰值运算速度达到200 petaflops,超神威·太湖
新智元
2018/06/22
6600
黄仁勋的速度与激情:让深度学习反哺科学计算
“众星捧月”。上榜项目让NVIDIA在最新的HPC TOP500榜单中显得格外亮眼——或者准确地说,是在“榜单背后”。
IT创事记
2022/06/16
4370
黄仁勋的速度与激情:让深度学习反哺科学计算
英伟达GPU化身造物主?从原子开始3D模拟活细胞,含500个基因,模拟只需20分钟
最近,来自伊利诺伊大学厄巴纳·香槟分校(University of Illinois at Urbana-Champaign)的研究人员成功在原子粒度上模拟了一个最小的活细胞(living minimal cell),使用到的加速设备为Nvidia Titan V和Tesla Volta V100显卡,成功将模拟时间压缩到20分钟内。
新智元
2022/02/24
4080
英伟达GPU化身造物主?从原子开始3D模拟活细胞,含500个基因,模拟只需20分钟
推荐阅读
这就是低配版「钢铁侠」吗?略输颜值,但毕竟是飞起来了
2770
云计算和仿真能擦出什么样的火花?
1.3K0
综述:CFD的未来之路
2K0
【Big Computing】HPC大计算,挑战深度学习的计算力黑洞
1K0
1%大气密度也能飞?NASA把无人机送上火星,最具野心探测计划启动
3910
更智能更高效-解析Autodesk CFD2018的新型CFD技术+全版本安装包
4690
刘军:18年“老兵”眼中的HPC与大数据、深度学习的融合
1.2K0
HPC技术趋势:HPDA、深度学习、软件定义和机柜即HPC
1.7K0
有哪些主流的科学计算是可以利用GPU加速?这一篇让你看明白!
3K0
美国削减科研经费限制移民,将输掉AI竞赛并丧失国际霸主地位
7080
基于天河超级计算机的新冠药物筛选成果入围国际戈登贝尔奖评选
5020
中美决战百亿亿次E级超算冠军!天河三号原型机国产系统+芯片曝光
7840
神威·太湖之光获戈登·贝尔奖,中国超算软硬兼施实现零的突破
1.7K0
机器学习模拟1亿原子:中美团队获2020「超算诺贝尔奖」戈登贝尔奖
7840
HPC走出全新路线:《开放架构HPC技术与生态白皮书》注解
7670
黄学东等多名华人当选,2023美国工程院院士名单出炉
4580
云计算如何助力夯实制造业“底盘”?材料科学领域专家学者分享新材料前沿技术成果
6650
美国超算将重夺全球第一,性能超神威·太湖之光2倍
6600
黄仁勋的速度与激情:让深度学习反哺科学计算
4370
英伟达GPU化身造物主?从原子开始3D模拟活细胞,含500个基因,模拟只需20分钟
4080
相关推荐
这就是低配版「钢铁侠」吗?略输颜值,但毕竟是飞起来了
更多 >
LV.1
CDA数据分析师新媒体运营
目录
  • 1.1视图组件View
  • 1.2视图容器组件ViewGroup
  • 1.3布局组件Layout
  • 1.4布局参数LayoutParams
  • 3.1使用XML布局文件
  • 3.2使用Java代码
  • 3.3混合使用XML布局文件和Java代码
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档