手把手教你安卓入门(三 完)

编程入门 行业动态 更新时间:2024-10-25 10:26:39

<a href=https://www.elefans.com/category/jswz/34/1768412.html style=手把手教你安卓入门(三 完)"/>

手把手教你安卓入门(三 完)

3.2.4 计算功能

当用户点击“”按钮的时候,开始计算。

我们将使用第三方计算库Arity对表达式进行计算。Arity库文件可以在安豆网提供的下载地址进行下载。

下载完成后,

  1. 将下载的arity-2.1.2.jar复制到项目工程所在的Calulator\app\libs目录下,如果这个目录不存在,就自己创建一个;
  2. 在Android Studio左边的项目浏览区,选择Project视图;
  3. app->libs->arity-2.1.2,jar上点击右键,选择Add as Library...
  4. 在弹出的选择框中,点击OK

利用第三方库,对运算表达式进行计算,

  1. 获取表达式区域的内容;
  2. 创建第三方库Arity提供的Symbols对象,使用它的evl()方法,计算表达式的内容;
  3. 将计算结果显示到计算结果区域,并清空表达式区域;
  4. 如果Arity不能根据提供的计算表达式进行计算,会抛出异常。因此使用try...catch抓住异常,用Toast类给用户一个内容为错误!的提示。
public void onClick(View view)
{switch (view.getId()) {......case R.id.btn_equ: {TextView formula = (TextView) findViewById(R.id.formula_area);String strContent = formula.getText().toString();try {Symbols s = new Symbols();double res = s.eval(strContent);TextView result = (TextView) findViewById(R.id.result_area);result.setText(String.valueOf(res));formula.setText("");} catch (SyntaxException e) {Toast.makeText(MainActivity.this, “错误!”, Toast.LENGTH_SHORT).show();}}break;       }
}

至此,一个具有计算功能的计算器就已经出现了。

3.3 计算器界面美化

这一节,我们将对粗糙的计算器界面进行美化。

3.3.1 美化显示区域

  1. 在布局文件activity_main.xml中,给整个界面增加一个背景颜色#FF4B5459,使用android:background属性设置,这里的颜色是采用AARRGGBB的形式进行定义的;

    <LinearLayout xmlns:android=""xmlns:tools=""android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.anddle.calculator.MainActivity"android:orientation="vertical"android:background="#FF4B5459">
    </LinearLayout>
  2. 给结果显示区域和表达式显示区域之间,增加一条间隔线,高度设置为5dp,用颜色“#FF5C6265”;

    <LinearLayout
        android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="vertical"><TextView
            android:id="@+id/result_area"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/><View
            android:layout_width="match_parent"android:layout_height="5dp"android:background="#FF5C6265" /><TextView
            android:id="@+id/formula_area"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"/></LinearLayout>
  3. 显示区域的字体颜色通过android:textColor属性设置成白色#FFFFFFFF;字体大小通过android:textSize属性设置成45sp;通过android:gravity属性让文字位于左边居中显示;显示区域的页边距通过android:padding属性设置成5dp

    <LinearLayout
        android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:orientation="vertical"><TextView
            android:id="@+id/result_area"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textColor="#FFFFFFFF"android:textSize="45sp"android:gravity="center_vertical|right"android:padding="5dp"/><View
            android:layout_width="match_parent"android:layout_height="5dp"android:background="#FF5C6265" /><TextView
            android:id="@+id/formula_area"android:layout_width="match_parent"android:layout_height="0dp"android:layout_weight="1"android:textColor="#FFFFFFFF"android:textSize="45sp"android:gravity="center_vertical|right"android:padding="5dp"/></LinearLayout>

3.3.2 美化键盘区域

修改Button的字体大小和字体颜色,与修改TextView的字体大小和字体颜色完全一样。

<TableRow android:layout_weight="1"><Button android:id="@+id/btn_c" android:text="C" android:onClick="onClick"android:textColor="#FF000000"android:textSize="35sp"/>......
</TableRow>

修改Button的按键背景效果,需要使用selector drawble。

  1. 打开res\values\colors.xml文件,定义没有按下按钮时背景的颜色为#D0DCE3按下按钮时背景的颜色为#BED1DB

    <resources>......    <color name="colorBtnNormal">#D0DCE3</color><color name="colorBtnPressed">#BED1DB</color>
    </resources>
  2. res\drawable\目录下,点击右键,启动创建drawable resource的向导;

  3. 创建selector drawable的xml文件,文件名为button_selector

  4. 根据Button是否被按下的状态android:state_pressed,分别为它们设置不同的颜色,android:state_pressed=true,说明当前按钮被按下,android:state_pressed=false,说明当前按钮没有被按下;设置颜色使用@color关键字,并加上之前在colors.xml中定义的颜色的名字;

    xml
    <selector xmlns:android="">
    <item android:state_pressed="false" android:drawable="@color/colorBtnNormal"/>
    <item android:state_pressed="true" android:drawable="@color/colorBtnPressed"/>
    </selector>

  5. Buttonandroid:background属性,使用drawable selector,

    <TableRow android:layout_weight="1"><Button android:id="@+id/btn_c" android:text="C" android:onClick="onClick"android:textColor="#FF000000"android:textSize="35sp"android:background="@drawable/button_selector"/>......
    </TableRow>

为了减少修改每个Button的工作量,可以将Button的这种显示效果定义成一种style,为“计算器”应用中的所有Button设置这种style就可以了。

  1. 打开res\values\styles.xml文件,将Button的共同特性定义成一个style---BtnStyle;此外,为了键盘美观,通过定义android:layout_margin属性,增加了每个按钮的间距。

    <resources>......<style name="BtnStyle"><item name="android:layout_height">match_parent</item><item name="android:layout_margin">0.5dp</item><item name="android:textSize">35sp</item><item name="android:textColor">#FF000000</item><item name="android:background">@drawable/button_selector</item></style>
    </resources>
  2. 为所有Button通过style属性,添加一种BtnStyle风格;

    <TableRow android:layout_weight="1"><Button android:id="@+id/btn_c" android:text="C" android:onClick="onClick" style="@style/BtnStyle" /><Button android:id="@+id/btn_del" android:text="DEL" android:onClick="onClick" style="@style/BtnStyle"/><Button android:id="@+id/btn_dot" android:text="." android:onClick="onClick" style="@style/BtnStyle"/><Button android:id="@+id/btn_add" android:text="+" android:onClick="onClick" style="@style/BtnStyle"/>
    </TableRow>

至此,计算器界面美化完成。

3.4 添加中文语言支持

安卓系统,支持多国语言。在这一节,我们将添加中文支持。

  1. res目录下,点击右键,启动创建android resource的向导;

  2. File name栏,输入strings.xml,再选中下方的locale,添加到右边;

  3. 选中zh,代表中文;

  4. 在创建出来的中文的res\values-zh\strings.xml文件中,仿照res\values\strings.xml的内容,添加中文语言;

    <resources><string name="app_name">计算器</string>
    </resources>

这里的stringapp_name,在AndroidManifest.xml文件中被使用,它使用android:label属性,指定了这个应用的名称。

<application
        android:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".MainActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER" /></intent-filter></activity></application>    

至此,中文语言的支持,添加完成。在设备上运行程序后,会看到现在“计算器”应用到名称已经变成中文的计算器了。

/*******************************************************************/
* 版权声明
* 本教程只在CSDN和安豆网发布,其他网站出现本教程均属侵权。
/*******************************************************************/

后记

到此为止,安卓开发的整个过程,大体就完成了。相信通过上面的学习,大家对安卓开发已经有了一个快速的认识。接下来,安卓开发进一步的学习,就要靠各位自己探索了。

应用开发完成后的编译对齐、APK签名等与对外发布相关的操作,这里就不再介绍了。大家可以参考别的资料。

在安豆网还有一份更加详细的介绍计算器应用设计的视频。那里面使用了更多的技术来深化目前这个计算器的改进,讲解得更加细致,欢迎大家参考。


/*******************************************************************/
* 版权声明
* 本教程只在CSDN和安豆网发布,其他网站出现本教程均属侵权。

*另外,我们还推出了Arduino智能硬件相关的教程,您可以在我们的网店跟我学Arduino编程中购买相关硬件。同时也感谢大家对我们这些码农的支持。

*最后再次感谢各位读者对安豆的支持,谢谢:)
/*******************************************************************/

更多推荐

手把手教你安卓入门(三 完)

本文发布于:2024-02-12 00:52:28,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1684742.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:手把手教你   入门

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!