Android面试题二

原创 2016年06月02日 09:04:14

Android面试题二

自定义一个不带系统边框的Dialog

  1. 自定义style样式,其中windowFrame设置为@null

    <?xml version="1.0" encoding="utf-8"?>  
    <resources xmlns:android="http://schemas.android.com/apk/res/android">  
    <style name="add_dialog" parent="@android:style/Theme.Dialog">  
        <item name="android:windowFrame">@null</item><!-- 边框 -->  
        <item name="android:windowIsFloating">true</item><!-- 是否浮现在activity之上 -->  
        <item name="android:windowIsTranslucent">false</item><!-- 半透明 -->  
        <item name="android:windowNoTitle">true</item><!-- 无标题 -->  
        <item name="android:windowBackground">@drawable/bg_search_end</item><!-- 自己想要的背景 -->  
        <item name="android:backgroundDimEnabled">false</item><!-- 模糊 -->  
    </style>  
    
  2. 自定义Dialog,继承自Dialog,重写构造方法。

    public class MyDialog extends Dialog{  
    public MyDialog(Context context, int theme) {  
    super(context, theme);  
    }  
    
    public SelectDialog(Context context) {  
    super(context);  
    }  
    @Override  
    protected void onCreate(Bundle savedInstanceState) {  
    super.onCreate(savedInstanceState);  
    setContentView(R.layout.slt_cnt_type);  
    }  
    }
    

    3.显示Dialog 创建时不必采用建造者模式,直接new出对象,把style赋给dialog就可以。

    MyDialog selectDialog = new MyDialog(this,R.style.dialog);//创建Dialog并设置样式主题  
    Window win = dialog.getWindow();  
    LayoutParams params = new LayoutParams();  
    params.x = -80;//设置x坐标  
    params.y = -60;//设置y坐标  
    win.setAttributes(params);  
    dialog.setCanceledOnTouchOutside(true);//设置点击Dialog外部任意区域关闭Dialog  
    dialog.show();  
    

图片的异步加载的方法

  1. 利用软引用来缓存图片,用图片的URL经过MD5加密之后的数值作为缓存查找的key。
  2. 设两级缓存,一级是内存,二级是本地磁盘
  3. 如果两级缓存都没有取到图片,则从服务器获取,并加入缓存。
  4. 夹杂完成后通过接口回调的方式来通知UI更新。

瀑布流的实现方式

自定义ScrollView,动态代码添加LinearLayout及ImageView。
1. 自定义ScrollView,并使用监听器模式,对其滚动到最顶部,最底部进行监听操作
2. 在Activity里对ScrollView的横向的LinearLayout动态添加列数,每一列是一个竖向的LinearLayout。
3. 根据列数及其List.size()对每一列的LinearLayout添加ImageView。
4. 根据监听器对其滚动到顶部(不做操作),滚动到底部(加载更多数据)。正在滚动进行操作(滚动超过两屏,回收两屏之前的图片)。

加载对话框动画效果问题

在日常开发中我们可能会使用动画效果的ProgressDialog。Dialog常用的方法有:show,hide,dismiss,cancel。
一般在网络请求时候show,然后结束后dismiss,此刻如果再次请求的话,动画效果就不动了。
可以将dismiss改为hide。区别是前者是调用了对话框本身的onStop方法,并且从Activity上remove了,后者是仍然挂载在Activity上,只是隐藏了。动画线程还在运行,个人感觉这么写都不好,会多占用内存,而且还在在activity的退出的时候要记得dialog.cancel,否则机会内存泄漏,个人认为可以采用imageView的方式来呈现动画效果,而且更加方便可控制。

简述一下你了解的设计模式

设计模式就是一套呗反复使用的代码设计经验的总结,使用设计模式为了可重用代码,让代码更容易被他人理解,保证代码可靠性,设计模式使人们可以更加简单方便的复用的设计和体系结构。

主要分三类(创建型[对类的实例化过程的抽象化],结构型[描述如何将类或对象结合在一起形成更大的结构],行为型[对不同的对象之间划分责任和算法的抽象化]),一共有二十三种设计模式包括:Abstract Factory(抽象工厂模式),Builder(建造者模式),FactoryMethod(工厂模式),Singleton(单例模式), Decorator(装饰模式),Adapter(适配器模式),Proxy(代理模式),Observer(观察者模式),State(状态模式),Strategy(策略模式)。。。。。未完待续。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

Android面试题(二)

android面试题-人事面试宝典二

人事面试宝典一

android面试题(二)

以下面试题都是在网上找的总结出来的,谢谢大家的分享!希望,我们共同进步,找到自己梦想的公司: 1.android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dv...

android面试题总结加强再加强版(二)

转载地址:http://blog.csdn.net/superjunjin/article/details/7855995 16.Android常用控件的信息 单选框(Ra...

Android面试题(二)——IPC机制

引言 IPC是Inter-Process Communication的缩写,含义是进程间通信和跨进程通信,是指两个进程直接进行数据交换的过程。 Binder机制是Android 采用的独特的进程间通...

Android 面试题总结(二)

前言 笔者最近离职找工作快两周了,这段时间陆陆续续也见识了北上广这边跟西部城市对待技术理念的差异和学习深度.俗话说:知耻而后勇,在经历了面试被虐得体无完肤的过程后,我也找到了作为一名开发者应有的职业素...

Android面试题二

1.android dvm 的进程和Linux的进程,应用程序的进程是否为同一个概念: 答:dvm是dalivk虚拟机。每一个android应用程序都在自己的进程中运行,都拥有一个dalivk虚拟机...

android面试题之二(红黑联盟)

六、android 中的动画有哪几种,它们的特点和区别是什么 ?   逐帧动画和补间动画。   逐帧动画:是传统的动画播放方式,指定每一帧的内容和停留时间,然后顺序地播放排列好的图片,类似电影。   ...

Android面试题之二(中)

这部分面试题基本都是在2011年常见的。 发几个常见。大部分直接copy 其实好多你只要理解大致的意思就行了。解答都是偏长。 1.如何避免ANR? 答:ANR:Application Not ...

android面试题之二

六、android 中的动画有哪几种,它们的特点和区别是什么 ? 逐帧动画和补间动画。 逐帧动画:是传统的动画播放方式,指定每一帧的内容和停留时间,然后顺序地播放排列好的图片,类似电影。 补间动...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)