开发总结1:

项目UI总结

今天整理了一天的项目UI,为了更接近当初的原型设计和UI美工这边给我的效果图。进行了一天的项目重构和代码优化。

类似于更多的列表item

开发总结1:_第1张图片
通常我们在开发中,常用的是提取一个通用的item 作为一个模板,然后使用adapter,进行数据适配。如果这仅仅是一个固定数目的列表。我们可能会使用线性布局LinearLayout,然后放置若干条子布局,此时,有一个问题出来了,如果,有很多个这种布局相同的菜单出现在这个App中,这时,还能像我这样写但一个一个item代码吗?

 <LinearLayout  android:layout_width="match_parent" android:layout_height="30dp" android:background="#ffebe6" android:gravity="center" android:visibility="gone" android:id="@+id/position_bar" android:orientation="vertical">

            <TextView  android:layout_width="wrap_content" android:layout_height="match_parent" android:layout_gravity="center" android:drawableLeft="@drawable/tips_icon" android:drawablePadding="8dp" android:gravity="center" android:text="保证金不足,请及时追加" android:textColor="#333333" android:textSize="12sp" />

        </LinearLayout>

如果项目中仅有两三处这么写,或许还无可厚非,如果我这里的列表在 A Activity 中有8 个,B Activity 中有 8个或者其他中还有更多,那么这个时候,就应该思考是否要重构你的代码了。这时android 中 的Style 就应该考虑让它出场了。于是我用Android studio 的自动extract 功能重构了一个Style ,并让IDE帮我替换全工程中这种大量的复用代码 。

<style name="position_tile_item">
        <item name="android:layout_width">wrap_content</item>
        <item name="android:layout_height">wrap_content</item>
        <item name="android:drawableLeft">@drawable/red_dot</item>
        <item name="android:drawablePadding">3dp</item>
        <item name="android:textSize">12sp</item>
        <item name="android:textColor">#333333</item>
        <item name="android:textAppearance">?android:attr/textAppearanceSmall</item>
    </style>

这是我IDE帮我重构的一个Style之后,我在后面需要用的部分,全部直接引用Style即可。
后面我的代码就变的更加精简。如下

 <LinearLayout  android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="15dp" android:layout_weight="1" android:gravity="center_vertical" android:orientation="horizontal">

                        <TextView  style="@style/position_tile_item" android:text="份额:" />

                        <TextView  style="@style/positin_title2_style" android:text="9891315.65" />

                        <TextView  style="@style/position_title3_item" android:text="元" />
                    </LinearLayout>

或许,看到这里,其实,这篇文章,并没有讲述一个什么高深方法。

  这篇文章的目的:
  • 整理我的日常项目总结,学习笔记。
  • 发布笔记,我的技术感想
  • 撰写发布一下学习心得
  • 为自己平时自己伸手党开始悔改,为开源贡献自己的一点力量。

你可能感兴趣的:(开发)