android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定需要为了切合整个应用的风格,修改我们的Spinner样式.系统给我们提供了两种常见的修改方式,一个是用XML方式静 态,另一个就是Java代码动态来修改啦,我们这篇文章呢主要就是介绍如何动态修改Spinner的样式.我的实现方法呢,是自己构造一个 SpinnerAdapter,继承来自ArrayAdapter,重写getDropDownView(),getView()这两个方法…
android开发之自定义组件 一:自定义组件: 我认为,自定义组件就是android给我们提供的的一个空白的可以编辑的图片,它帮助我们实现的我们想要的界面,也就是通过自定义组件我们可以把我们要登入的界面画出来:自定义组件继承View:通过F3键,我们可以看到View继承了Drawable.Callback, KeyEvent.Callback,AccessibilityEventSource这三个接口: 自定义组件的实现: 我们定义一个类:Myview 继承View:实现它的构造三个方法: 定…
android系统自带的Spinner样式是远远满足不了我们实际开发过程中对Spinner UI风格的要求,因此我们肯定须要为了切合整个应用的风格,改动我们的Spinner样式.系统给我们提供了两种常见的改动方式,一个是用XML方式静态.还有一个就是Java代码动态来改动啦,我们这篇文章呢主要就是介绍怎样动态改动Spinner的样式.我的实现方法呢,是自己构造一个SpinnerAdapter.继承来自ArrayAdapter.重写getDropDownView(),getView()这两个方法就…
一个完整的Android应用程序都应该提供选项(或者叫偏好设置等等)让用户对APP的表现形式能够进行设置,比如说是否加入用户体验计划,或者是否自动升级.定时提醒.开启自启动.后台运行等等.提供一个好的设置项,会大大提升APP的用户体验.为了完成这样的功能,你不必从头开始写Activity或者Fragment,因为Android已经提供了实现这个功能的API,并且会自动将用户设置以键值对的形式存入SharedPreference(Android的四大存储方式之一)中.在3.0以前的系统,使用Pre…
Android开发中的ListView, 顾名方法思义,就是表视图.表示图在iOS开发中就是TableView.两者虽然名称不一样,但是其使用方法,使用场景以及该控件的功能都极为相似,都是用来展示大量数据并带有分页的控件.本篇博客将要类比着iOS开发来认识一下ListView, 如果你是Android开发者,你可以看一下iOS中TableView的工作方式.如果你是初学者,那么只看Android的开发即可.其实Android开发和iOS开发有许多东西都是相通的,尽管控件的名称以及具体的使用方式不…
说到自定义控件不得不提的就是接口回调,在Android开发中接口回调用的还是蛮多的.在这篇博客开始的时候呢,我想聊一下iOS的自定义控件.在iOS中自定义控件的思路是继承自UIView, 在UIView的子类中组合一些控件,对外暴漏一些属性和回调接口,并留有必要的实现方法.在iOS自定义控件中常用的回调有两种,一是委托代理回调(Delegate),另一种是Block回调.如果你想对这两者有所了解,请参考我之前的博客<Objective-C中的委托(代理)模式>.<Objective-C中…
如今,要实现导航功能方案有很多.比如: 1.用3.0+自带的Toolbar + Fragment导航. 2.用Tabhost实现导航.小弟学浅,就只用过这两种方案实现导航. 但是这两种方案都有一个很明显的弊端:导航的位置太过于固定了.比如Toolbar的就只能在标题栏处(ps:源码修改大神跳过).还有Tabhost,虽然自定义Tabhost比直接继承TabActivity更加灵活,但是却没有选项切换动画(ps:也许是我没发现). 有时候,我们仅仅是想在一个画面的一角处,贴上一个导航,用于切换导航…
在Android开发中,系统提供给我们的UI控件是有限的,当我们需要使用一些特殊的控件的时候,只靠系统提供的控件,可能无法达到我们想要的效果,这时,就需要我们自定义一些控件,来完成我们想要的效果了.下面,我就来讲讲自定义控件的那些事. 首先,我来讲讲Android的控件架构.Android的控件可以被分为两类,分别是ViewGroup和View.在ViewGroup中可以包含多个View,并且管理他们.控件树就是有这两个部分组成的,控件树的上层负责的是下层控件的绘制和测量以及交互.我们在Acti…
如下界面:由一个spinner两个EditText一个Button实现,为了保持界面的统一性,需要把默认的spinner样式改成类似下面的样式. xml文件布局如下图 这里用一个LinerLayout 实现horizintal布局,并使用了一个9.的图片,跟Button背景图片一样.通过layout_weight 权重布局,权重越大,在布局内占得控件越小,如上图.下拉按钮则是用了一个text的特殊字符实现. <LinearLayout android:layout_width="match…
一.APP通过View修改鼠标样式 app view上修改鼠标样式比较简单,通过 hover event 获取鼠标坐标并使用如下方法修改为自定义图片: getWindow().getDecorView().setPointerIcon(PointerIcon.load(getResources(), R.drawable.pointer_spot_touch_icon)); imageView = (ImageView) findViewById(R.id.image_view); imageV…