安卓开发笔记(二)
来源:互联网 发布:淘宝店铺美工主管职责 编辑:程序博客网 时间:2024/05/01 18:02
1.创建带布局的弹出框
</pre>
<p></p><p></p><pre name="code" class="java">AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); LayoutInflater inflater = LayoutInflater.from(getActivity()); View view1 = inflater.inflate(R.layout.alert_picture,null); builder.setView(view1); builder.setCancelable(true); builder.create().show();
setPositiveButton什么的就不用说了,这里主要是前几行得到布局然后加到builder里就行了,拿布局里的组件直接view1.findViewById就可以了。(这里因为我是想在一个碎片里实现,所以取context的时候用的是getActivity)。
</pre><p></p><p>
2.为布局加边框</p><p></p><pre name="code" class="java"></pre><pre name="code" class="java">
在drawable下新建border.xml,然后在background属性里引用这个文件就可以啦
<pre name="code" class="html"><?xml version="1.0" encoding="utf-8"?><shape xmlns:android="http://schemas.android.com/apk/res/android" > <solid android:color="#FFFFFF" />//主背景颜色,这里我设置为白色 <stroke android:width="3dp"//边框的宽度 android:color="#767879" />//边框颜色 <padding //边框里内容与边框的距离,不设置的话内容会盖住边框(别问我怎么知道的) android:bottom="3dp" android:left="3dp" android:right="3dp" android:top="3dp" /></shape>
3.ViewPager切换动画的简易实现
(只支持安卓3.0以上版本)
为viewpager添加切换动画只需一行代码:
vp.setPageTransformer(true,new DepthPageTransformer());这里的第二个参数是一个PageTransFormer类,是需要实现的。我们可以选择自己实现,也可以选择谷歌官方提供的两个实现类。这里我把两个类的代码放上,大家可以 选择一个直接复制然后粘贴在包里创建一个实现类。
public class ZoomOutPageTransformer implements ViewPager.PageTransformer { private static final float MIN_SCALE = 0.85f; private static final float MIN_ALPHA = 0.5f; public void transformPage(View view, float position) { int pageWidth = view.getWidth(); int pageHeight = view.getHeight(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. view.setAlpha(0); } else if (position <= 1) { // [-1,1] // Modify the default slide transition to shrink the page as well float scaleFactor = Math.max(MIN_SCALE, 1 - Math.abs(position)); float vertMargin = pageHeight * (1 - scaleFactor) / 2; float horzMargin = pageWidth * (1 - scaleFactor) / 2; if (position < 0) { view.setTranslationX(horzMargin - vertMargin / 2); } else { view.setTranslationX(-horzMargin + vertMargin / 2); } // Scale the page down (between MIN_SCALE and 1) view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); // Fade the page relative to its size. view.setAlpha(MIN_ALPHA + (scaleFactor - MIN_SCALE) / (1 - MIN_SCALE) * (1 - MIN_ALPHA)); } else { // (1,+Infinity] // This page is way off-screen to the right. view.setAlpha(0); } }}另一个:
public class DepthPageTransformer implements ViewPager.PageTransformer { private static final float MIN_SCALE = 0.75f; public void transformPage(View view, float position) { int pageWidth = view.getWidth(); if (position < -1) { // [-Infinity,-1) // This page is way off-screen to the left. view.setAlpha(0); } else if (position <= 0) { // [-1,0] // Use the default slide transition when moving to the left page view.setAlpha(1); view.setTranslationX(0); view.setScaleX(1); view.setScaleY(1); } else if (position <= 1) { // (0,1] // Fade the page out. view.setAlpha(1 - position); // Counteract the default slide transition view.setTranslationX(pageWidth * -position); // Scale the page down (between MIN_SCALE and 1) float scaleFactor = MIN_SCALE + (1 - MIN_SCALE) * (1 - Math.abs(position)); view.setScaleX(scaleFactor); view.setScaleY(scaleFactor); } else { // (1,+Infinity] // This page is way off-screen to the right. view.setAlpha(0); } }}
2 0
- Xamrin开发安卓笔记(二)
- 安卓开发学习笔记(二)
- 安卓开发笔记(二)
- 安卓开发笔记(二)
- 安卓笔记(二)
- 2012.9.13 安卓游戏开发笔记(二)_ImageButton
- 安卓开发笔记(二)------------终止一个线程
- 安卓学习笔记(二)
- 安卓学习之笔记(二)
- 安卓学习笔记(二)ImageView
- 安卓View开发心得(二)
- 安卓开发之Bitmap(二)
- 安卓开发心得(二)
- 安卓开发笔记
- 安卓开发笔记
- 安卓开发笔记
- android 开发零起步学习笔记(二十六):安卓输入法相关知识点 android InputMethodManager
- 安卓学习笔记二
- AsyncQueryHandler 异步查询框架
- AppCompatActivity 全屏
- EventBus3.0-粘性事件
- 好的插件
- HashMap的工作原理JDK1.6
- 安卓开发笔记(二)
- 有关Java学习的记录Two
- Service隐式显示启动
- mysql ERROR 1044 (42000): Access denied for user '
- iOS 中在开发项目时候常见的通知传值
- 友盟第三方分享
- C++经典面试题
- 【u008】瑞瑞的木棍
- c# 常用语句