API Demos_App/Activity

  次阅读 作者:智能小宝 来源:互联网 2016-01-14 10:57 我要评论(0)

此篇来看下App/Activity下的demos。

第一个Animation,展示了从一个activity启动另一个activity时的两种动画效果,主要是这个方法:

1 overridePendingTransition(int enterAnim, int exitAnim)

这个方法跟在startActivity()或者finish()之后调用来指定一个效果,第一个参数是下一个activity出现的效果,第二个参数是该activity退出的效果。

关于animation,可以参考这篇文章:http://www.2cto.com/kf/201111/109801.html。

第二个CustomDialogActivity,展示了一个activity如何使用自定义theme,使其看起来像一个dialog,在ApiDemos Manifest.xml中对应该activity的标签下,

有该属性:android:theme="@style/Theme.CustomDialog",引用了一个自定义的theme,在styles.xml文件中:

1 <style name="Theme.CustomDialog" parent="android:style/Theme.Dialog">

2<item name="android:windowBackground">@drawable/filled_box</item>

3 </style>继承自android内置的Theme.Dialog,位于/base/core/res/res/values/themes.xml。其background为一个自定义的shape,在filled_box.xml中:

1 <shape xmlns:android="http://schemas.android.com/apk/res/android">

2<solid android:color="#f0600000"/>

3<stroke android:width="3dp" color="#ffff8080"/>

4<corners android:radius="3dp" />

5<padding android:left="10dp" android:top="10dp"

6android:right="10dp" android:bottom="10dp" />

7 </shape>solid填充,stroke描边,corners圆角,padding内间距,关于shape,可以看下这篇文章:http://www.2cto.com/kf/201202/120873.html这儿分享一个展现渐变色背景的方法,除了ps一张渐变色的图片,也可以使用shape,将上面代码的<solid>标签替换成<gradient>代表渐变:

1 <gradient

2android:startColor="#52adcd"

3android:endColor="#1c87b1"

4android:angle="0" /> <!-angle代表角度,0就是从左往右渐变,可以多用几个值试一试 。这个标签不能和solid标签同时出现。-!>

第三个CustomTitle,如何自定义一个title,而不是使用一个activity原来的那种title,主要是3句代码

1 requestWindowFeature(Window.FEATURE_CUSTOM_TITLE);

2 setContentView(R.layout.custom_title);

3 getWindow().setFeatureInt(Window.FEATURE_CUSTOM_TITLE, R.layout.custom_title_1);

第四个DialogActivity展示了如何使一个activity看上去像一个弹出的dialog,跟第二个实例类似,也是在其activity标签上加上theme属性,不过这次引用的

是系统自己的dialog theme:@android:style/Theme.Dialog,其次跟第三个实例类似,也使用了requestWindowFeature()这个方法,关于这个方法,

网上有很多介绍,大家可以自己搜一下,给个参考文章:http://www.2cto.com/kf/201202/120872.html

第五个看下PersistentState和SaveRestoreState,先说SaveRestoreState展示了onSaveInstanceState()保存activity状态的效果,其实本身没做什么,

onSaveInstanceState()是当该activity可能会被系统destory时默认调用的,默认会记录布局中每个view的状态,如edittext的内容、checkedbox的选中状态,

你需要做的就是给每个控件加一个id,没有id的话是无法保存状态的,可以看下源码PhoneWindow.java中的saveHierarchyState()。一般情况下不需要你重写

onSaveInstanceState(),但是如果你想保存除了UI状态之外的其他附加信息,如一个成员变量的值等就可以覆写,但要注意,一定要调用

super.onSaveInstanceState(),以上都可以在官方文档里找到。

再说下PersistentState,这个展示了使用SharedPreferences持久化的保存edittext的状态,包括光标的位置。主要是在onPause()里保存,onResume()里还原,

本站文章信息来源于网络以及网友投稿,本站只负责对文章进行整理、排版、编辑,是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。如果您有什么意见或建议,请联系QQ28-1688-302!

人工智能实验室
相关文章相关文章
  • 未来两年人工智能要怎么走?看这篇就够了

    未来两年人工智能要怎么走?看这篇就够了

  • 无人驾驶汽车如何改变城市生活?听听他们怎么说

    无人驾驶汽车如何改变城市生活?听听他们怎么说

  • 韩春雨称已能重复实验结果 近期将有消息公布

    韩春雨称已能重复实验结果 近期将有消息公布

  • 英国研发“杀生”机器人 通过生命体获取能量

    英国研发“杀生”机器人 通过生命体获取能量

网友点评网友点评
阅读推荐阅读推荐

据国外媒体报道,在过去两年内,聊天机器人(chatbot)、人工智能以及机器学习的研发和采用取得了巨大进展。许多初创公司正利用人工智能和...

霍金 视觉中国 图 英国著名物理学家霍金(Stephen Hawking)再次就人工智能(AI)发声,他认为:对于人类来说,强大AI的出现可能是最美妙的...

文|郑娟娟 今年,人工智能(AI) 60岁了。在AI60岁的时候,笔者想要介绍一下AI100,一个刚刚2岁的研究项目,但它的预设寿命是100年,甚至更长...

AlphaGo与李世石的人机大战,为大众迅速普及了人工智能的概念。 但对谷歌而言,除了下围棋,现在的人工智能进展到哪一步了?未来,人工智能...