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!

人工智能实验室
相关文章相关文章
  • 汤晓鸥:人工智能的中国式文艺复兴

    汤晓鸥:人工智能的中国式文艺复兴

  • 全球陷入"区块链狂热"潮,大规模应用还需等待

    全球陷入"区块链狂热"潮,大规模应用还需等待

  • 马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

    马云的新零售?张近东的智慧零售?抑或是刘强东的第四次零售革命?

  • 区块链最近太火,但A股多家公司明确表态不考虑涉足

    区块链最近太火,但A股多家公司明确表态不考虑涉足

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

算法 任何一个入门的软件开发人员都会听到这句话:算法是软件的灵魂!近年来大火的机器学习即是在算法在人工智能上的集中体现。今日头条通...

据《日本经济新闻》报道,日本东京大学教授稻叶雅幸等人开发出再现日本人骨骼肌肉构造的机器人。机器人各部位的肌肉和骨骼长度与日本人的平...

以奥黛丽-赫本为原型打造的人形机器人索菲娅首次拜访了印度。索菲娅是世界上首位获得公民身份的机器人,她在12月30日出现在了印度理工学院...

在查获现场,代售点电脑旁的一台机器人通过敲击电脑键盘抢票。 广州日报惠州讯 (全媒体记者秦仲阳 通讯员张中铃摄影报道)2018年春运售票已...