前言
进制转换工具的开发与实现。
一、效果展示
二、代码
准备工作与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一篇文章。
链接: Android开发实用小工具二——长度转换工具
1.样式布局
本项目相较于前几个小工具的开发,多了几个数值按钮。
res/layout/activity_decimal_conversion.xml.xml :
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#ffe9ecf1"
android:orientation="vertical">
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="@color/white">
<ImageView
android:id="@+id/iv_back"
android:layout_width="40dp"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:padding="10dp"
android:scaleType="fitCenter"
android:src="@drawable/ic_back" />
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_centerInParent="true"
android:gravity="center"
android:textColor="#ff000000"
android:textSize="17sp"
android:text="进制转换工具" />
</RelativeLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Spinner
android:id="@+id/sp_select1"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:dropDownWidth="215dp"
android:popupBackground="@drawable/shape_module"
android:spinnerMode="dropdown" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:orientation="vertical">
<TextView
android:id="@+id/tv_value1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginRight="10dp"
android:layout_weight="2"
android:gravity="right|bottom"
android:text="0"
android:textColor="#ffff8800"
android:textSize="30sp" />
<TextView
android:id="@+id/tv_unit1"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:gravity="right"
android:textColor="#FF959595"
android:textSize="13sp"
tools:text="m" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Spinner
android:id="@+id/sp_select2"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="5"
android:dropDownWidth="215dp"
android:popupBackground="@drawable/shape_module"
android:spinnerMode="dropdown" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="6"
android:orientation="vertical">
<TextView
android:id="@+id/tv_value2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginRight="10dp"
android:layout_weight="2"
android:gravity="right|bottom"
android:text="0"
android:textColor="#ff000000"
android:textSize="30sp" />
<TextView
android:id="@+id/tv_unit2"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_marginRight="10dp"
android:layout_weight="1"
android:gravity="right"
android:textColor="#FF959595"
android:textSize="13sp"
tools:text="chi" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@drawable/shape_module"
android:orientation="vertical"
android:padding="20dp">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="4"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<Button
android:id="@+id/btn_clr"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="6dp"
android:layout_weight="1"
android:background="@drawable/radio_button_selector"
android:padding="10dp"
android:text="C"
android:textColor="#FF0080FF"
android:textSize="35sp" />
<ImageButton
android:id="@+id/iv_del"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_margin="6dp"
android:layout_weight="1"
android:background="@drawable/radio_button_selector"
android:padding="10dp"
android:src="@drawable/ic_delete" />
<Button
android:id="@+id/btn_f"
android:layout_width