项目UI总结
今天整理了一天的项目UI,为了更接近当初的原型设计和UI美工这边给我的效果图。进行了一天的项目重构和代码优化。
类似于更多的列表item
通常我们在开发中,常用的是提取一个通用的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>
或许,看到这里,其实,这篇文章,并没有讲述一个什么高深方法。
这篇文章的目的:
- 整理我的日常项目总结,学习笔记。
- 发布笔记,我的技术感想
- 撰写发布一下学习心得
- 为自己平时自己伸手党开始悔改,为开源贡献自己的一点力量。
版权声明:本文为博主原创文章,未经博主允许不得转载。
时间: 2024-10-10 21:34:35