Android开发实用小工具十一——亲戚称呼计算器

本文介绍了如何开发一个Android应用,实现亲戚称呼计算器。详细讲述了效果展示、样式布局、获取亲戚关系表以及主代码的编写过程,通过一个具体的例子展示了如何在Android Studio中创建这样的实用工具。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

亲戚称呼计算器的开发与实现。


一、效果展示

亲戚称呼计算器的开发与实现亲戚称呼计算器的开发与实现

二、代码

准备工作与我开发的另一个小工具(长度转换工具)所用一致,详情请看我上一篇文章。
链接: Android开发实用小工具二——长度转换工具

1.样式布局

res/layout/activity_relatives_call_calculator.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="#FFFFFFFF">

        <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>

    <TextView
        android:id="@+id/tv_input"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_marginTop="20dp"
        android:layout_marginRight="10dp"
        android:layout_weight="1"
        android:background="#00000000"
        android:gravity="right|bottom"
        android:padding="5dp"
        android:textColor="#FF000000"
        android:textSize="30sp"
        android:text="我" />

    <TextView
        android:id="@+id/tv_results"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:minHeight="70dp"
        android:layout_marginRight="10dp"
        android:background="#00000000"
        android:gravity="right|center"
        android:padding="5dp"
        android:textColor="#FF959595"
        android:textSize="20sp"
        tools:text="爸爸/父亲" />

    <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="wrap_content"
            android:layout_marginBottom="10dp"
            android:orientation="horizontal">

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="10dp"
                android:layout_marginRight="10dp"
                android:text="男"
                android:textColor="#FF000000"
                android:textSize="20sp" />

            <Switch
                android:id="@+id/sw_sex"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content" />

            <TextView
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginLeft="8dp"
                android:text="女"
                android:textColor="#FF000000"
                android:textSize="20sp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn_h"
                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="16dp"
                android:text="夫"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_w"
                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="16dp"
                android:text="妻"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <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" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn_f"
                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="16dp"
                android:text="父"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_m"
                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="16dp"
                android:text="母"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_ob"
                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="16dp"
                android:text="兄"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_lb"
                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="16dp"
                android:text="弟"
                android:textColor="#FF000000"
                android:textSize="25sp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn_os"
                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="16dp"
                android:text="姐"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_ls"
                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="16dp"
                android:text="妹"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_s"
                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="16dp"
                android:text="子"
                android:textColor="#FF000000"
                android:textSize="25sp" />

            <Button
                android:id="@+id/btn_d"
                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="16dp"
                android:text="女"
                android:textColor="#FF000000"
                android:textSize="25sp" />

        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="horizontal">

            <Button
                android:id="@+id/btn_each"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="6dp"
                android:layout_weight="1"
                android:background="@drawable/radio_button_selector"
                android:enabled="false"
                android:padding="10dp"
                android:text="互查"
                android:textColor="#FFD6D6D6"
                android:textSize="20sp" />

            <Button
                android:id="@+id/btn_eq"
                android:layout_width="0dp"
                android:layout_height="match_parent"
                android:layout_margin="6dp"
                android:layout_weight="1"
                android:background="@drawable/shape_radio_button_unpressed"
                android:backgroundTint="#FF0080FF"
                android:padding="10dp"
                android:text="="
                android:textColor="#FFFFFFFF"
                android:textSize="35sp" />

        </LinearLayout>

    </LinearLayout>

</LinearLayout>

2.获取亲戚关系表

RelationShipData.java :

public class RelationShipData {
   
	public String[][] getRelationShipDataByMan() {
   
		String[][] relationshipData = {
   
				{
   "我", "爸爸", "妈妈", "哥哥", "弟弟", "姐姐", "妹妹", "儿子", "女儿", "妻子", "丈夫", "未知亲戚"},
				{
   "爸爸", "爷爷", "奶奶", "伯父", "叔叔", "姑妈", "姑妈", "我", "妹妹", "妈妈", "", "未知亲戚"},
				{
   "妈妈", "外公", "外婆", "大舅", "小舅", "大姨", "小姨", "我", "妹妹", "", "爸爸", "未知亲戚"},
				{
   "哥哥", "爸爸", "妈妈", "哥哥", "我", "姐姐", "妹妹", "侄子", "侄女", "嫂子", "", "未知亲戚"},
				{
   "弟弟", "爸爸", "妈妈", "我", "弟弟", "姐姐", "妹妹", "侄子", "侄女", "弟妹", "", "未知亲戚"},
				{
   "姐姐", "爸爸", "妈妈", "哥哥", "我", "姐姐", "妹妹", "外甥", "外甥女", "", "姐夫", "未知亲戚"},
				{
   "妹妹", "爸爸", "妈妈", "我", "弟弟", "姐姐", "妹妹", "外甥", "外甥女", "", "妹夫", "未知亲戚"},
				{
   "儿子", "我", "妻子", "儿子", "儿子", "女儿", "女儿", "孙子", "孙女", "儿媳", "", "未知亲戚"},
				{
   "女儿", "我", "妻子", "儿子", "儿子", "女儿", "女儿", "外孙", "外孙女", "", "女婿", "未知亲戚"},
				{
   "妻子", "岳父", "岳母", "大舅子", "小舅子", "大姨子", "小姨子", "儿子", "女儿", "", "我", "未知亲戚"},
				{
   "丈夫", "", "", "", "", "", "", "", "", "", "", "未知亲戚"},
				{
   "爷爷", "曾祖父", "曾祖母", "伯祖父", "叔祖父", "祖姑母", "祖姑母", "爸爸", "姑妈", "奶奶", "", "未知亲戚"},
				{
   "奶奶", "曾外祖父", "曾外祖母", "舅公", "舅公", "祖姨母", "祖姨母", "爸爸", "姑妈", "", "爷爷", "未知亲戚"},
				{
   "伯父", "爷爷", "奶奶", "伯父", "叔叔", "姑妈", "姑妈", "堂哥", "堂姐", "伯母", "", "未知亲戚"},
				{
   "叔叔", "爷爷", "奶奶", "伯父", "叔叔", "姑妈", "姑妈", "堂弟", "堂妹", "婶婶", "", "未知亲戚"},
				{
   "姑妈", "爷爷", "奶奶", "伯父", "叔叔", "姑妈", "姑妈", "姑表哥", "姑表姐", "", "姑丈", "未知亲戚"},
				{
   "外公", "外曾祖父", "外曾祖母", "伯外祖父", "叔外祖父", "姑外祖母", "姑外祖母", "舅舅", "妈妈", "外婆", "", "未知亲戚"},
				{
   "外婆", "外曾外祖父", "外曾外祖母", "外舅公", "外舅公", "姨外祖母", "姨外祖母", "舅舅", "妈妈", "", "外公", "未知亲戚"},
				{
   "大舅", "外公", "外婆", "大舅", "舅舅", "大姨", "妈妈", "舅表哥", "舅表姐", "大舅妈", "", "未知亲戚"},
				{
   "小舅", "外公", "外婆", "舅舅", "小舅", "妈妈", "小姨", "舅表弟", "舅表妹", "小舅妈", "", "未知亲戚"},
				{
   "舅舅", "外公", "外婆", "大舅", "小舅", "大姨", "小姨", "舅表哥", "舅表姐", "舅妈", "", "未知亲戚"},
				{
   "大姨", "外公", "外婆", "大舅", "舅舅", "大姨", "妈妈", "姨表哥", "姨表姐", "", "大姨父", "未知亲戚"},
				{
   "小姨", "外公", "外婆", "舅舅", "小舅", "妈妈", "小姨", "姨表弟", "姨表妹", "", "小姨父", "未知亲戚"},
				{
   "侄子", "哥哥", "嫂子", "侄子", "侄子", "侄女", "侄女", "侄孙子", "侄孙女", "侄媳", "", "未知亲戚"},
				{
   "侄女", "哥哥", "嫂子", "侄子", "侄子", "侄女", "侄女", "外侄孙", "外侄孙女", "", "侄女婿", "未知亲戚"},
				{
   "嫂子", "姻伯父", "姻伯母", "姻兄", "姻弟", "姻姐", "姻妹", "侄子", "侄女", "", "哥哥", "未知亲戚"},
				{
   "弟妹", "姻叔父", "姻叔母", "姻兄", "姻弟", "姻姐", "姻妹", "侄子", "侄女", "", "弟弟", "未知亲戚"},
				{
   "外甥", "姐夫", "姐姐", "外甥", "外甥", "外甥女", "外甥女", "外甥孙", "外甥孙女", "外甥媳妇", "", "未知亲戚"},
				{
   "外甥女", "姐夫", "姐姐", "外甥", "外甥", "外甥女", "外甥女", "外甥孙", "外甥孙女", "", "外甥女婿", "未知亲戚"},
				{
   "姐夫", "姻世伯", "姻伯母", "姻兄", "姻弟", "姻姐", "姻妹", "外甥", "外甥女", "姐姐", "", "未知亲戚"},
				{
   "妹夫", "姻世伯", "姻伯母", "姻兄", "姻弟", "姻姐", "姻妹", "外甥", "外甥女", "妹妹", "", "未知亲戚"},
				{
   "孙子", "儿子", "儿媳", "孙子", "孙子", "孙女", "孙女", "曾孙", "曾孙女", "孙媳", "", "未知亲戚"},
				{
   "孙女", "儿子", "儿媳", "孙子", "孙子", "孙女", "孙女", "曾外孙", "曾外孙女", "", "孙女婿", "未知亲戚"},
				{
   "儿媳", "亲家公", "亲家母", "姻侄", "姻侄", "姻侄女", "姻侄女", "孙子", "孙女", "", "儿子", "未知亲戚"},
				{
   "外孙女", "女婿", "女儿", "外孙", "外孙", "外孙女", "外孙女", "外曾外孙", "外曾外孙女", "", "外孙女婿", "未知亲戚"},
				{
   "外孙", "女婿", "女儿", "外孙", "外孙", "外孙女", "外孙女", "外曾孙", "外曾孙女", "外孙媳", "", "未知亲戚"},
				{
   "女婿", "亲家公", "亲家母", "姻侄", "姻侄", "姻侄女", "姻侄女", "外孙", "外孙女", "女儿", "", "未知亲戚"},
				{
   "岳父", "太岳父", "太岳母", "伯岳", "叔岳", "姑岳母", "姑岳母", "大舅子", "大姨子", "岳母", "", "未知亲戚"},
				{
   "岳母", "外太岳父", "外太岳母", "舅岳父", "舅岳父", "姨岳母", "姨岳母", "大舅子", "大姨子", "", "岳父", "未知亲戚"},
				{
   "大舅子", "岳父", "岳母", "大舅子", "小舅子", "大姨子", "妻子", "内侄", "内侄女", "舅嫂", "", "未知亲戚"},
				{
   "小舅子", "岳父", "岳母", "大舅子", "小舅子", "妻子", "小姨子", "内侄", "内侄女", "舅弟媳", "", "未知亲戚"},
				{
   "大姨子", "岳父", "岳母", "大舅子", "小舅子", "大姨子", "妻子", "内甥", "姨甥女", "", "大姨夫", "未知亲戚"},
				{
   "小姨子", "岳父", "岳母", "大舅子", "小舅子", "妻子", "小姨子", "内甥", "姨甥女", "", "小姨夫", "未知亲戚"},
				{
   "曾祖父", "高祖父", "高祖母", "曾伯祖父", "曾叔祖父", "增祖姑母", "增祖姑母", "爷爷", "祖姑母", "曾祖母", "", "未知亲戚"},
				{
   "曾祖母", "高外祖父", "高外祖母", "舅曾祖父", "舅曾祖父", "姨曾祖母", "姨曾祖母", "爷爷", "祖姑母", "", "曾祖父", "未知亲戚"},
				{
   "伯祖父", "曾祖父", "曾祖母", "伯祖父", "爷爷", "祖姑母", "祖姑母", "堂伯", "堂姑", "伯祖母", "", "未知亲戚"},
				{
   "叔祖父", "曾祖父", "曾祖母", "爷爷", "叔祖父", "祖姑母", "祖姑母", "堂伯", "堂姑", "叔祖母", "", "未知亲戚"},
				{
   "祖姑母", "曾祖父", "曾祖母", "伯祖父", "爷爷", "祖姑母", "祖姑母", "姑表伯父", "姑表姑母", "", "祖姑父", "未知亲戚"},
				{
   "曾外祖父", "祖太爷", "祖太太", "伯曾外祖父", "叔曾外祖父", "姑曾外祖母", "姑曾外祖母", "舅公", "奶奶", "曾外祖母", "", "未知亲戚"},
				{
   "曾外祖母", "祖太姥爷", "祖太姥姥", "舅曾外祖父", "舅曾外祖父", "姨曾外祖母", "姨曾外祖母", "舅公", "奶奶", "", "曾外祖父", "未知亲戚"},
				{
   "舅公", "曾外祖父", "曾外祖母", "舅公", "舅公", "祖姨母", "奶奶", "舅表伯父", "舅表姑母", "舅婆", "", "未知亲戚"},
				{
   "祖姨母", "曾外祖父", "曾外祖母", "舅公", "舅公", "祖姨母", "奶奶", "姨表伯父", "姨表姑母", "", "祖姨夫", "未知亲戚"},
				{
   "堂哥", "伯父", "伯母", "堂哥", "堂弟", "堂姐", "堂妹", "堂侄", "堂侄女", "堂嫂", "",
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

此名哥已占

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值