Android Spinner实现12生肖的页面跳转

Android Spinner实现12生肖的页面跳转

需求:通过下拉菜单,获取12生肖的关键字,根据关键字做页面跳转。假设在主界面的下拉菜单中选择生肖“猪”,它的相应界面为界面二。在界面二中设置一个button,文字显示为BACK,对其同样做监听,点击后能够回到主界面。

实现过程如下

首先在 res/values 文件夹下新建 array.xml 文件夹:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <string-array name="shengxiao">
        <item>鼠</item>
        <item>牛</item>
        <item>虎</item>
        <item>兔</item>
        <item>龙</item>
        <item>蛇</item>
        <item>马</item>
        <item>羊</item>
        <item>猴</item>
        <item>鸡</item>
        <item>狗</item>
        <item>猪</item>
    </string-array>
</resources>

主布局文件

// An highlighted block
 <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:text="生肖查询"
        android:textColor="#458"
        android:gravity="center"
        android:layout_marginTop="70dp"
        android:layout_marginBottom="40dp"
        android:textSize="30sp"
        android:entries="@array/shengxiao" />
    <TextView
        android:id="@+id/xiao"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="选择您的生肖:"
        android:layout_marginLeft="20dp"
        android:textSize="25sp"/>
    <Spinner
        android:id="@+id/sipnner"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="20dp"
        android:entries="@array/shengxiao">
    </Spinner>
    <Button
        android:id="@+id/btn"
        android:layout_width="134dp"
        android:layout_height="37dp"
        android:layout_marginLeft="100dp"
        android:layout_marginTop="50dp"
        android:background="#D8D8EB"
        android:text="enter" />

主界面图
在这里插入图片描述

界面二布局文件

// An highlighted block
 <ImageView
        android:id="@+id/imageView"
        android:layout_width="354dp"
        android:layout_height="272dp"
        android:src="@drawable/hjz" />
    <TextView
        android:id="@+id/txt"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="10dp"
        android:text="夜间九点至十一点,属亥时。夜深人静,能听见猪拱槽的声音,于是称作“亥猪”"
        android:textSize="25sp" />
    <Button
        android:id="@+id/btn1"
        android:layout_width="84dp"
        android:layout_height="37dp"
        android:layout_marginLeft="250dp"
        android:layout_marginTop="40dp"
        android:background="#fef"
        android:text="back" />

界面二图
在这里插入图片描述
主布局的java代码
提示: 通过下拉菜单获取关键字:“关键字” = spinner.getSelectedItem().toString();

// An highlighted block
package com.example.jinjin.firstproject;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.Spinner;
/**
 * Created by jinjin on 2020/4/29.
 */
public class MainActivity extends AppCompatActivity implements View.OnClickListener{
    Spinner spinner;
    static String str;
    Button btn;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        spinner= (Spinner) findViewById(R.id.sipnner);
        btn = (Button) findViewById(R.id.btn);
        btn.setOnClickListener(this);
        btn.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                str = spinner.getSelectedItem().toString();
                Intent intent=new Intent(MainActivity.this,layoutActicity.class);
                startActivity(intent);
            }
        });
    }
    @Override
    public void onClick(View view) {
    }
}

界面二的java代码
提示:界面二的布局对于12个生肖来说,并没有改变,不需做12个跳转页面,可以通过switch语句解决。图像替换的语句:

case "鼠":
    imageView.setImageResource(R.drawable.shu);
    txt.setText("夜间十一点至次日凌晨一点,属子时,正是老鼠趁夜深人静,频繁活动之时,称“子鼠”。");
    break;

完整代码如下:

// An highlighted block
package com.example.jinjin.firstproject;
import android.content.Intent;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.view.View;
import android.widget.Button;
import android.widget.ImageView;
import android.widget.TextView;

/**
 * Created by jinjin on 2020/4/29.
 */
public class layoutActicity extends AppCompatActivity implements View.OnClickListener{
    Button btn;
    ImageView imageView;
    TextView txt;
    MainActivity m;
    String Str = m.str;
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.layout);
        btn = (Button) findViewById(R.id.btn1);
        btn.setOnClickListener(this);
        txt = (TextView) findViewById(R.id.txt);
        imageView = (ImageView) findViewById(R.id.imageView);
        switch (Str) {
            case "鼠":
                imageView.setImageResource(R.drawable.shu);
                txt.setText("夜间十一点至次日凌晨一点,属子时,正是老鼠趁夜深人静,频繁活动之时,称“子鼠”。");
                break;

            case "牛":
                imageView.setImageResource(R.drawable.niu);
                txt.setText("凌晨一点至三点,属丑时。牛习惯夜间吃草,农家常在深夜起来挑灯喂牛,故称“丑牛”。");
                break;

            case "虎":
                imageView.setImageResource(R.drawable.hu);
                txt.setText("凌晨三点至五点,属寅时。此时昼伏夜行的老虎最凶猛,古人常会在此时听到虎啸声,故称“寅虎。");
                break;

            case "兔":
                imageView.setImageResource(R.drawable.tu);
                txt.setText("清晨五点至七点,属卯时。天刚亮,兔子出窝,喜欢吃带有晨露的青草,故为“卯兔。");
                break;

            case "龙":
                imageView.setImageResource(R.drawable.long1);
                txt.setText("早晨七点至九点,属辰时。此时一般容易起雾,传说龙喜腾云驾雾,又值旭日东升,蒸蒸日上,故称“辰龙”。");
                break;

            case "蛇":
                imageView.setImageResource(R.drawable.she);
                txt.setText("上午九点至十一时,属巳时。大雾散去,艳阳高照,蛇类出洞觅食,故作“巳蛇。");
                break;

            case "马":
                imageView.setImageResource(R.drawable.ma);
                txt.setText("中午十一点至一点,属午时。古时野马未被人类驯服,每当午时,四处奔跑嘶鸣,故称“午马。");
                break;

            case "羊":
                imageView.setImageResource(R.drawable.yang);
                txt.setText("午后一点至三点,属未时。有的地方管此时为“羊出坡”,意思是放羊的好时候,故称“未羊”。");
                break;

            case "猴":
                imageView.setImageResource(R.drawable.hou);
                txt.setText("下午三点至五点,属申时。太阳偏西了,猴子喜在此时啼叫,故为“申猴”");
                break;

            case "鸡":
                imageView.setImageResource(R.drawable.ji);
                txt.setText("下午五点至七点,属酉时。太阳落山了,鸡在窝前打转,故称“酉鸡”。");
                break;

            case "狗":
                imageView.setImageResource(R.drawable.gou);
                txt.setText("傍晚七点至九点,属戌时。人劳碌一天,闩门准备休息了。狗卧门前守护,一有动静,就汪汪大叫,故为“戌狗”。");
                break;
            case "猪":
                imageView.setImageResource(R.drawable.hjz);
                txt.setText("夜间九点至十一点,属亥时。夜深人静,能听见猪拱槽的声音,于是称作“亥猪”。");
                break;
        }
    }
    @Override
    public void onClick(View view) {
        Intent intent = new Intent(layoutActicity.this, MainActivity.class);
        startActivity(intent);
    }
}
  • 16
    点赞
  • 84
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值