Android制作卡片类长图踩坑记

在实现需求过程中,产品喜欢上了分享大图卡片。但是发现每个地方分享的卡片大图还不一样。经过分析发现还是能够找到一点共性。先上图看看最基础的卡片样子。由于分享的卡片在四张图片上下都需要自定义一些其他控件,主要有文字商品信息等等。

图1

在实现之前先思考了一下,需要解决的问题有以下几个:

  1. 因为每个地方的分享大图是不一样的,需要找出共性部分,并将不同之处方便替换;
  2. 在卡片中的几张图片还没下载完就吊起分享肯定是不行的。这就需要监听图片下载了;
  3. 分享到的App对大图都是有大小限制的,其中微博限制最大2M,这样就需要进行图片压缩。

Android图片转换字体

需求实现过程中遇到了一个问题,模块需要同时显示文字,一个图标和带有html标签的有颜色文字,我们试用了几个方法。基本上可以作为同一类型的TextView富文本等方式设置的总结。

1. Spannable

首先使用了Spannable,看下代码:

SpannableStringBuilder spannableStringBuilder = new SpannableStringBuilder(mWarehouse + " 至  ");
ImageSpan imageSpan = new ImageSpan(getContext(), R.drawable.address_icon);
spannableStringBuilder.setSpan(imageSpan, spannableStringBuilder.length() - 1, spannableStringBuilder.length(), Spannable
        .SPAN_INCLUSIVE_EXCLUSIVE);
if (StringUtils.isNotNull(goodsDelivery.getPostage())) {
    spannableStringBuilder.append(" " + goodsDelivery.getAddress() + " " + Html.fromHtml(goodsDelivery.getPostage()));
}
mPostageRulesContainer.setText(spannableStringBuilder);

这个应该网上有很多,使用的过程中发现后台传的字符串中间是有html标签的,spannable不能识别标签中的属性因此这种方法不能适用。

购物类App商品Sku级联逻辑

对于一个购物类的App,可以说sku量是很重要的一环,那么什么是sku呢,SKU=Stock Keeping Unit(库存量单位)。它的基本解释即库存进出计量的基本单元。什么意思呢?比如,我们去买一条裤子,裤子有红色和蓝色,每种颜色都有L,XL两种号码,那么,我们一定要买一条的话则必然颜色选择一种,型号选择一个。就会出现,红色L号,红色XL号,蓝色L号,蓝色XL号四种情况。而这四种商品便是库存量的最小单位,就是真正的SKU。

在考拉商品详情页SKU的设计过程中,我用到了一个activity,一个view,一个manager。

###一、数据组织方式

我将每一个属性的的每一个属性值定义为一个model(SkuBtnEntity),其中name为当前属性的名字,value为当前属性值。例如:name=颜色,value=红。同时每个按钮有四种状态,普通未选中状态,普通选中状态,缺货置灰未选中状态,缺货置灰选中状态。类中全部成员变量如下:

private TextView mSkuBtn;   //属性按钮
private int mIsColor;       //1为颜色属性,0为其他属性
private String mImageUrl;   //图片url
private String mNameId;
private String mName;
private String mValueId;
private String mValue;
private boolean isAsh;      //缺货置灰未选中状态
private boolean isPressed;  //普通选中状态
private boolean isForcedAsh;//缺货置灰选中状态

人生的意义是什么---《哲学家们都干了些什么?》读后感

由于之前和妹子定下了,每年至少看12本书的目标,而二月选择的就是这本书。整个二月,从春节前开始断断续续的到二月底才看完这本书。看完之后当我关上kindle,仔细回想书中的内容时。突然生发出一中想要静静地思考一下人生的冲动。就像书中末尾的疑问一样,我们为什么要活着?作者针对这句话给了一个很好的回答,如果回答不了为什么活着的问题,就问问自己“为什么不去自杀?”。是啊,为什么不去自杀呢?面对这个问题,我闭上眼睛认真想了一下,有很多个答案在我心里徘徊。如果自杀了父母会很伤心,我身边的人也会很伤心,而且感觉自己也真的还没有活够,这个世界上还有很多事情没有经历过,为什么要去自杀呢?那么父母亲人的爱,希望更多的经历世界上的新鲜事便是我的人生意义咯?不管怎样这本书开启了我对生活哲学的思考。

作者的行文思路很明确,在开始提出问题,结束的时候以一中让读者思考的方式回答了自己的问题。中间部分讲述了整个哲学的发展史,读来也很轻松有趣。书中从皇权和宗教的斗争,讲到宗教和哲学的斗争,都是一个打压另外一个,出奇的相似。但是有一句话说的好:“需要用到暴力来解决的问题,都是已经解决不了的问题了。”在西方历史早期,由于人们不断的开始有了宗教信仰,所以皇权慢慢地沦为宗教势力的手下败将。而随着科学的进步,人们也会逐渐意识到宗教的部分问题无法说服大众。人们慢慢就会越来越倾向于相信科学。而通过观察每个科学观点的提出,以及互相之间的争论,又不难发现,有些争论完全是由于科学家之前哲学思想的碰撞。读来真是很畅快,能够引发人的思考。有时候觉得如果高中政治课也能像这样讲故事,真的能让学生明白很多哲学知识啊。

书中也有几个很有名的哲学家给我留下了深刻的印象。休谟就是其中之一,休谟提出的怀疑论一直是我的想法,因为我对这个世界一直也是存在着怀疑的态度。

《谷歌-重新定义公司》读后感

最近读了《谷歌-重新定义公司》这本书,总体上来讲,让读者都看到了新世纪高科技企业的文化。里面也讲到了很多关于创业公司该如何发展壮大的东西。都说谷歌是一家让人有归属感的公司,通过这本书确实让每个人都有一种向往。这本书的组织结构也是相当于一个专题一个专题的。而由于我读的过程中是在班车上,所以每天看一小段,刚好很合适。

书中首先先从一个谷歌和微软竞争的小故事引出谷歌在面对困难时候所采取的各种措施。同时,以时代为大背景,讲述了谷歌是如何管理整个公司以及员工和公司之前微妙的关系变化。公司希望员工创造价值,而员工又希望通过公司实现自己的价值。等着两者达到统一并且平衡的时候,就是双赢的态势。