Tag Archives: 模块组件

Android开发之Spinner(下拉选项)的基本使用

1、先上图

2、创建Spinner分为三步:
2.1、首先在Activity的XML中添加标签,设置基本属性;
2.2、给Spinner提供相对应的数据源,及样式;
2.3、创建Spinner相关的ArrayAdapter;
3、下面用两种方式来创建一个Spinner;
3.1、第一种方式使用ArrayAdapter的静态方法createFromResource();
3.1.1、该方法需要传入三个参数,第一个为Context对象,即当前Activity;
3.1.2、第二个参数为textArrayResId,在String.xml中创建一个提供数据源;
3.1.3、第三个参数为Item样式,可以使用系统自带样式R.layout.support_simple_spinner_dropdown_item;
3.2、第二种方式使用ArrayAdapter的构造方法动态构建;
3.2.1、该方法需要传入四个参数,第一个Context对象,即为当前Activity;
3.2.2、第二个参数为resource,即Item的样式;
3.2.3、第三个参数为resource当中TextView的id;
3.2.4、第四个参数为数据源,提供一个list,list中可以为任何对象,结果取对象的toString方法;
4、设置监听,setOnItemSelectedListener()方法;[……]

继续阅读

Android实战开发之广播BroadcastReciver的基本使用

0、广播分为静态广播、动态广播、有序广播和无序广播,先从简单的说起;
1、最简单的是静态注册,分为2个步骤:
1.1、创建一个BoradcastReciver的实体子类,实现onReceive()方法;
1.2、在Manifest文件中注册该类及广播事件即可

1
[......]<p class="read-more"><a href="https://www.yusian.com/blog/android/2017/03/25/135303992.html">继续阅读</a></p>

UICollectionView默认Cell两端对齐,如何让其居左对齐

1、先看图:

simulator-screen-shot-2016%e5%b9%b410%e6%9c%8813%e6%97%a5-%e4%b8%8a%e5%8d%8810-32-42

2、基本设计思路

2.1、UICollectionView的布局通过UICollectionViewFlowLayout实现;
2.2、UICollectionViewFlowLayout有个方法

1
- (nullable NSArray<__kindof UICollectionViewLayoutAttributes *> *)layoutAttributesForElementsInRect:(CGRect)rect</__kindof>

2.3、这个方法是返回UICollectionViewLayoutAttributes对象数组,每一个UICollectionViewLayoutAttributes对象决定了一个cell的大小位置及各种布局属性;
2.4、在这个方法上下手,实现左对齐应该不是什么问题;问题是全部自定义每一个cell的布局吗?
2.5、其实我们只需要将原有的两端对齐改成左对齐就可以了,其他并不需要变动;
2.6、这也就意味着只需要修改frame的x值即可,其他都原封不动;[……]

继续阅读

自定义UIActionSheet实现分享功能,一行代码搞定!

1、先上图,有图好说话

Simulator-Screen-Shot-2016年3月13日-下午5.35.17

2、设置思路

2.1、我希望这是一个View,并非控制器,节省开支;
2.2、 这个View包含一个背景,一个面板,若干个按钮或标签;
2.3、我希望实现的功能是视图展示+事件响应;
2.4、希望无偶合性,并且一行代码搞定(能一行代码搞定的必定包含block);
2.5、这若干个按钮最好是外面传进来,要不我怎么知道需要什么样的按钮?传一组图片?那文字呢?再传一组文字?如何对应?
2.6、我希望开始调用的时候只要传按钮给你,结束后告诉我用户点了哪个按钮,其他的我都不想管(高度无偶封装),呵呵!
2.7、调用时还最好是类方法,我不喜欢alloc;[……]

继续阅读