下面是一个简单的示例代码,可以帮助你开始设计一个猜星座的程序:
- 首先,在布局文件(例如activity_main.xml)中添加相应的控件:
<EditText
android:id="@+id/editText"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="猜猜我的星座" />
<ImageView
android:id="@+id/imageView"
android:layout_width="200dp"
android:layout_height="200dp" />
<TextView
android:id="@+id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content" />
- 将星座图片复制粘贴到res/drawable目录,并将星座描述放到res/values/strings.xml文件中。在strings.xml中添加如下内容:
<string name="aries">白羊座:性格直率、积极乐观</string>
<string name="taurus">金牛座:稳重务实、善于享受生活</string>
<!-- 其他星座描述 -->
- 在Java代码中编写逻辑处理部分:
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import java.util.Calendar;
public class MainActivity extends AppCompatActivity {
private EditText editText;
private Button button;
private ImageView imageView;
private TextView textView;
// 存放星座图片的数组
private int[] zodiacImages = {
R.drawable.aries,
R.drawable.taurus,
// 其他星座图片
};
// 存放星座描述的数组
private String[] zodiacDescriptions;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = findViewById(R.id.editText);
button = findViewById(R.id.button);
imageView = findViewById(R.id.imageView);
textView = findViewById(R.id.textView);
// 获取星座描述数组
zodiacDescriptions = getResources().getStringArray(R.array.zodiac_descriptions);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String inputDateStr = editText.getText().toString();
// 解析用户输入的日期,获取月份和日期
// 例如:2021-05-12
int month, day;
Calendar calendar = Calendar.getInstance();
if (inputDateStr.matches("\\d{4}-\\d{2}-\\d{2}")) {
String[] dateParts = inputDateStr.split("-");
month = Integer.parseInt(dateParts[1]);
day = Integer.parseInt(dateParts[2]);
// 根据月份和日期判断星座,并显示对应的图片和描述
int zodiacIndex;
if ((month == 3 && day >= 21) || (month == 4 && day <= 19)) {
zodiacIndex = 0; // 白羊座
} else if ((month == 4 && day >= 20) || (month == 5 && day <= 20)) {
zodiacIndex = 1; // 金牛座
} else {
// 其他星座的判断逻辑
}
imageView.setImageResource(zodiacImages[zodiacIndex]);
textView.setText(zodiacDescriptions[zodiacIndex]);
}
}
});
}
}
请注意,上述代码仅为示例,你需要根据实际需求进行修改和扩展。同时,还需要在AndroidManifest.xml中声明相关权限和Activity。
内容由零声教学AI助手提供,问题来源于学员提问