首页 文章 精选 留言 我的

精选列表

搜索[AI教育],共10000篇文章
优秀的个人博客,低调大师

4-AI--Activity跳转动画

零、前言 1.打开RedActivity点击屏幕进入BlueActivity,此时RedActivity左移出,BlueActivity左移入 2.点击返回按钮BlueActivity右移出,RedActivity右移入 默认跳转模式: Activity默认跳转动画.gif 本案例效果: Activity跳转动画.gif 一、测试类 1.红色Activity: public class RedActivity extends AppCompatActivity { @BindView(R.id.root) ConstraintLayout mRoot; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_color); ButterKnife.bind(this); mRoot.setBackgroundColor(Color.RED); } @OnClick(R.id.root) public void onViewClicked() { startActivity(new Intent(this, BlueActivity.class)); overridePendingTransition(R.anim.open_enter_t,R.anim.open_exit_t); } } 2.蓝色Activity public class BlueActivity extends AppCompatActivity { @BindView(R.id.root) ConstraintLayout mRoot; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_color); ButterKnife.bind(this); mRoot.setBackgroundColor(Color.BLUE); } @OnClick(R.id.root) public void onViewClicked() { startActivity(new Intent(this, RedActivity.class)); } @Override public void onBackPressed() { super.onBackPressed(); overridePendingTransition(R.anim.close_enter_t, R.anim.close_exit_t); } } Activity跳转动画.png 二、动画 1.左移出:anim/open_exit_t.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <!--左移出--> <translate android:duration="500" android:fromXDelta="0%p" android:toXDelta="-100%p"/> </set> 2.左移入:anim/open_enter_t.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <!--左移入--> <translate android:duration="500" android:fromXDelta="100%p" android:toXDelta="0%p"/> </set> 3.右移出:anim/close_exit_t.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <!--右移出--> <translate android:duration="500" android:fromXDelta="0%p" android:toXDelta="100%p"/> </set> 4.右移入:anim/close_enter_t.xml <?xml version="1.0" encoding="utf-8"?> <set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/decelerate_interpolator"> <!--右移入--> <translate android:duration="500" android:fromXDelta="-100%p" android:toXDelta="0%p"/> </set> 附录、布局文件:layout/activity_color.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout android:id="@+id/root" 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" tools:context=".animation.RedActivity"> </android.support.constraint.ConstraintLayout> 三、利用样式来改变Activity跳转动画 1.定义样式:values/styles.xml <style name="TranAnim_Activity" parent="@android:style/Animation.Activity"> <item name="android:activityOpenEnterAnimation">@anim/open_enter_t</item> <item name="android:activityOpenExitAnimation">@anim/open_exit_t</item> <item name="android:activityCloseEnterAnimation">@anim/close_enter_t</item> <item name="android:activityCloseExitAnimation">@anim/close_exit_t</item> </style> <style name="AppThemeTranAnim" parent="Theme.AppCompat.Light.NoActionBar"> <item name="android:windowNoTitle">true</item> <item name="android:windowAnimationStyle">@style/TranAnim_Activity </item> </style> 2.使用样式:app/src/main/AndroidManifest.xml <activity android:name=".animation.RedActivity" android:theme="@style/AppThemeTranAnim"> <intent-filter> <action android:name="android.intent.action.MAIN"/> <category android:name="android.intent.category.LAUNCHER"/> </intent-filter> </activity> <activity android:name=".animation.BlueActivity" android:theme="@style/AppThemeTranAnim"> </activity> 后记、 1.声明: [1]本文由张风捷特烈原创,转载请注明 [2]欢迎广大编程爱好者共同交流 [3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正 [4]你的喜欢与支持将是我最大的动力 2.连接传送门: 更多安卓技术欢迎访问:安卓技术栈 我的github地址:欢迎star 简书首发,腾讯云+社区同步更新张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com 3.联系我 QQ:1981462002 邮箱:1981462002@qq.com 微信:zdl1994328 4.欢迎关注我的微信公众号,最新精彩文章,及时送达: 公众号.jpg

优秀的个人博客,低调大师

1-AI--Activity生命周期

1.ActivityLifeCycle:测试生命周期的Activity 2.CommonActivity是一个普通的Activity 3.DialogActivity是对话框型的Activity activity生命周期.gif 一、Activity 1.ActivityLifeCycle.java public class ActivityLifeCycle extends AppCompatActivity { private static final String TAG = "ActivityLifeCycle"; @BindView(R.id.btn_task_activity) Button mBtnTaskActivity; @BindView(R.id.btn_dialog_activity) Button mBtnDialogActivity; @Override//Activity第一次创建时调用 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_lifecycle); ButterKnife.bind(this); Log.e(TAG, "onCreate: "); Log.e("TASK_ID", "Task id is " + getTaskId()); } @Override//Activity可见的时候调用 protected void onStart() { super.onStart(); Log.e(TAG, "onStart: "); } @Override//Activity位于栈顶,获取焦点时调用 protected void onResume() { super.onResume(); Log.e(TAG, "onResume: "); } @Override//Activity移除栈顶,失去焦点时调用 protected void onPause() { super.onPause(); Log.e(TAG, "onPause: "); } @Override//由停止状态变为运行状态之前调用 protected void onRestart() { super.onRestart(); Log.e(TAG, "onRestart: "); } @Override//Activity不可见的时候调用 protected void onStop() { super.onStop(); Log.e(TAG, "onStop: "); } @Override//Activity销毁的时候调用 protected void onDestroy() { super.onDestroy(); Log.e(TAG, "onDestroy: "); } @OnClick({R.id.btn_task_activity, R.id.btn_dialog_activity}) public void onViewClicked(View view) { switch (view.getId()) { case R.id.btn_task_activity: //跳转到TaskActivity startActivity(new Intent(this, TaskActivity.class)); break; case R.id.btn_dialog_activity: //跳转到DialogActivity startActivity(new Intent(this, DialogActivity.class)); break; } } } 2.CommonActivity.java public class CommonActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_task); ButterKnife.bind(this); } } 3.DialogActivity public class DialogActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.ac_dialog); } } 二、生命周期测试结果: 1.打开:onCreate==>onStart==>onResume E/ActivityLifeCycle: onCreate: E/ActivityLifeCycle: onStart: E/ActivityLifeCycle: onResume: 2.跳转普通Activity:onPause==>onStop E/ActivityLifeCycle: onPause: E/ActivityLifeCycle: onStop: 3.从跳转的Activity返回:onRestart==>onStart==>onResume E/ActivityLifeCycle: onRestart: E/ActivityLifeCycle: onStart: E/ActivityLifeCycle: onResume: 4.跳转到对话框Activity:onPause E/ActivityLifeCycle: onPause: 5.从对话框Activity返回:onResume E/ActivityLifeCycle: onResume: 6.旋转屏幕(相当于关闭再开启):onPause==>onStop==>onDestroy==>onCreate==>onStart==>onResume E/ActivityLifeCycle: onPause: E/ActivityLifeCycle: onStop: E/ActivityLifeCycle: onDestroy: E/ActivityLifeCycle: onCreate: E/ActivityLifeCycle: onStart: E/ActivityLifeCycle: onResume: 7.关闭:onPause==>onStop==>onDestroy E/ActivityLifeCycle: onPause: E/ActivityLifeCycle: onStop: E/ActivityLifeCycle: onDestroy: 附录、布局: 1.ActivityLifeCycle布局:ac_lifecycle.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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"> <Button android:id="@+id/btn_task_activity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="打开TaskActivity" android:textAllCaps="false" app:layout_constraintTop_toTopOf="parent" tools:layout_editor_absoluteX="30dp"/> <Button android:id="@+id/btn_dialog_activity" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="打开DialogActivity" android:textAllCaps="false" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintHorizontal_bias="0.873" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout> 2.CommonActivity布局:ac_task.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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"> <Button android:id="@+id/btn_start_self" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="16dp" android:text="打开自己" android:textAllCaps="false" app:layout_constraintTop_toTopOf="parent" tools:layout_editor_absoluteX="30dp"/> <Button android:id="@+id/button_start_others" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="8dp" android:layout_marginStart="8dp" android:layout_marginTop="16dp" android:text="打开别人" app:layout_constraintStart_toEndOf="@+id/btn_start_self" app:layout_constraintTop_toTopOf="parent"/> </android.support.constraint.ConstraintLayout> 3.DialogActivity布局:ac_dialog.xml <?xml version="1.0" encoding="utf-8"?> <android.support.constraint.ConstraintLayout 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"> <TextView android:id="@+id/textView" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="A01_DialogActivity" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" tools:layout_editor_absoluteY="233dp" tools:ignore="MissingConstraints"/> </android.support.constraint.ConstraintLayout> 4.DialogActivity对话框主题 <activity android:name=".DialogActivity" android:label="DialogActivity" android:theme="@style/Theme.AppCompat.Light.Dialog"> </activity> 后记、 1.声明: [1]本文由张风捷特烈原创,转载请注明 [2]欢迎广大编程爱好者共同交流 [3]个人能力有限,如有不正之处欢迎大家批评指证,必定虚心改正 [4]你的喜欢与支持将是我最大的动力 2.连接传送门: 更多安卓技术欢迎访问:安卓技术栈 我的github地址:欢迎star 简书首发,腾讯云+社区同步更新张风捷特烈个人网站,编程笔记请访问:http://www.toly1994.com 3.联系我 QQ:1981462002 邮箱:1981462002@qq.com 微信:zdl1994328 4.欢迎关注我的微信公众号,最新精彩文章,及时送达: 公众号.jpg

优秀的个人博客,低调大师

【AI科幻】地球陨落 · 全新世界

进入黑洞之后,醒来的周蒙和艾娃接触到了一个全新的世界。 不知经过了多长时间,迷迷糊糊之间,只听得周遭一片嘈杂声,慢慢的,周蒙睁开了眼睛,见到的是自己被一群人围观议论的场景,而在自己的身旁,艾娃也静静的躺在那里。 看到主角已醒,现场的议论声渐渐地停止。看到艾娃在自己身旁,脑子还处于懵逼状态的周蒙本能的赶紧摇醒了她。面对醒来第一眼就看到自己被人围观的情况,意识渐渐清醒的两人突然发现了不对劲,疑惑的看向彼此,眼中明显的表达出:这是哪里?我们不是被黑洞吸走了吗? “嘿,兄弟,你们是哪儿人啊?怎么穿着宇航服晕倒在中央广场?”见到周蒙两人情形,一个白皮肤、长着络腮大胡的壮汉问道。 “抱歉,我现在脑子还有点晕,请问这里是火星吗?”由于人生地不熟,周蒙回避了那个问题,并尝试打探一些消息。 听到周蒙的回答,壮汉僵了一下,以惊奇的眼光看着周蒙回答:“这里是地球啊!兄弟,虽然《火星救援VR》游戏很好玩,但也不要失去理智啊。”听到前半句,周蒙和艾娃的眼睛里明显闪过一丝亮光,可是听到后面的,两个人又懵了。《火星救援》是什么他俩都知道,毕竟作为宇航员,这部古老的电影还是看过的,可是,VR又是什么东西? 无奈之下,周蒙和艾娃只能采取“失忆”的万年老梗,以避免当前局面的尴尬,只说自己的最后印象是自己穿着宇航服站在火星上面。 不知是这里的人脑神经太粗,还是以这种方式出现的人太多,他们并没有什么疑惑。因为没有人认识他们,最后两人只得跟着一开始搭话的壮汉马特回他家。 在前往广场边缘的过程中,马特向周蒙两人大概介绍了一下现在的情况。据马特表述,现在是公元4500年,现在他们所待的这颗星球其实并不是真正的“地球”,而是另一颗宜居星球。至于真正的地球,早在公元3100年就因为能源枯竭而被人们所抛弃。 听到这个消息,周蒙和艾娃两人十分震惊。他们记得自己是被黑洞吸过来的,那么现在的情形应该是他们在黑洞中进行了一次时空穿越,直接到了1500年以后。 “帕克,过来接我。”当走到广场边缘时,马特对着手腕上的手表说了一句话,然后就没有声息了。就在周蒙和艾娃疑惑、打算上前询问之时,只看见一辆急速行驶、没有车胎的小轿车稳稳当当的停在了他们面前,并打开了前后座的车门。 带着惊讶的表情,两人被马特请进了后座。只见坐下之后,艾娃小声的“呀”了一声,原来除了外形独特之外,这辆汽车竟然是没有驾驶座和方向盘的,而马特也只是坐在了副驾驶。 作为一名汽车爱好者,周蒙实在按耐不住内心的激动,立马就向马特提出疑问。马特并没有立即回答,只是对着空气说了一串地址,然后汽车就漂浮起来,平稳的向前开去。 “这是无人驾驶悬浮汽车,你没见过吗?啊,对了,你们失忆了。”拍了拍脑门,马特才想起来现在他们两个是失忆人士。“这种汽车现在每个家庭都有,他不需要我们亲自动手驾驶,只要对着系统说出目的地就行,你看周围。” 周蒙和艾娃想着左右两边的窗户看去,只见半空中有很多这种小汽车,并且没有一辆是有驾驶员的,人们都只是坐在旁边干自己的事。 “马特,这究竟是怎么办到的?好神奇啊!”艾娃满脸好奇的追问。 马特笑道:“这你们可就问对人了,毕竟我是这方面的专家。”紧接着,马特就像他们解释了一下无人驾驶悬浮汽车的构造、原理以及相关技术等,包括深度学习算法、计算机视觉、语音识别、自然语言理解等被称之为“人工智能”技术的具体细节。马特还称,刚才他所呼叫的“帕克”就是这辆汽车的系统,并让其与周蒙两人打了招呼、聊了会儿天。 而就在艾娃听得一脸迷茫、周蒙却一脸痴迷的时候,经过几个空中红绿灯的帕克已经缓缓地停在了一栋公寓高层的延展平台上。 “主人,欢迎回家,请问有什么需要服务的?”刚下车,一道温柔的声音乍然响起,令初来乍到的两人受到了今天的又一次惊吓。 “哦~亲爱的丽娜,你吓到了我的客人了。”看到两人的反应,马特对着空气戏说道。“不要害怕,这是我的智能管家丽娜,就是我刚才在车上跟你们说的聊天机器人类似,只不过功能更全面。她可是我的依靠,没有她,我还真不知道怎么生活呢。” 随后,周蒙和艾娃走进了马特的家。一进去,只见到处都是类似人一样的机器,它们自发为马特更衣、按摩,或是打扫屋子、准备午餐,一切都在有条不絮的进行着。 被机器人牵引到沙发边坐下,直到感受到手中茶杯的热度,周蒙和艾娃两人才如梦似醒般,就差没掐自己看看自己是不是在做梦。 见两人眼中迷惑之色渐浓,为了待会儿饭桌上不被问东问西,已经被机器人舒缓筋骨的马特瘫在沙发上,直接向两人介绍了一下家中的情况。 “这些都是我做的机器人,由丽娜控制。它们已经具备了基本的意识,纵然没有我的命令,它们也会根据以往的习惯或是察言观色来为我进行服务,直到我做出其他的指令。” 根据马特的描述,周蒙两人了解到这是一种叫做“智能家居”的模式。除了语音命令机器人做各类事情之外,根据手环或是无人车的定位系统,丽娜会提前让机器人和智能家居用品提前启动,比如在夏冬两季提前开空调,让主人体会到极致的服务…… 听到这里,再进行一下联想,此时此刻,周蒙和艾娃才真的意识到了这里与自己星球的不同。 瞬间,他们心里达成了一个共识:找到穿越时空的方法,将这些技术带回母星,开始人工智能研究,将智能化时代提前,造福人类。 【未完待续】 原文发布时间: 2016-12-07 18:23 本文作者: 韩璐 本文来自云栖社区合作伙伴镁客网,了解相关信息可以关注镁客网。

资源下载

更多资源
Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册