1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 《Android Studio开发实战》学习(四) - TextView和ImageView的点击响应

《Android Studio开发实战》学习(四) - TextView和ImageView的点击响应

时间:2020-07-21 04:27:36

相关推荐

《Android Studio开发实战》学习(四) - TextView和ImageView的点击响应

《Android Studio开发实战》学习(四) - TextView和ImageView的点击响应

前言一、布局文件的编写二、代码文件的编写总结

前言

这篇文章记录了作者学习Android Studio开发App的心得体会1。Android Studio提供的最基础的控件是TextViewImageViewButton,通常TextView用来显示文本,ImageView用来显示图片,而Button用来响应用户的点击。但是TextViewImageView同样有setOnClickListener()方法,所以可以用TextViewImageView代替Button,来实现响应用户点击的功能。

现在想要设计一个简单的响应用户点击的界面,从上到下分别是:

TextView,宽度整个屏幕,高度50%,点击后随机增加聊天内容。ImageView,宽度整个屏幕,高度50%,点击后有序改变图片内容。

一、布局文件的编写

activity_main.xml的完整代码如下:

<?xml version="1.0" encoding="utf-8"?><androidx.constraintlayout.widget.ConstraintLayout xmlns:android="/apk/res/android"xmlns:app="/apk/res-auto"xmlns:tools="/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".MainActivity"><androidx.constraintlayout.widget.Guidelineandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:id="@+id/guideline_1"app:layout_constraintGuide_percent=".50"android:orientation="horizontal"/><TextViewandroid:id="@+id/tv_bbs"android:layout_width="0dp"android:layout_height="0dp"android:gravity="center"android:text="点我增加聊天内容。"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="parent"app:layout_constraintBottom_toBottomOf="@+id/guideline_1" /><ImageViewandroid:id="@+id/iv_scale"android:layout_width="match_parent"android:layout_height="400dp"android:src="@color/white"app:layout_constraintLeft_toLeftOf="parent"app:layout_constraintRight_toRightOf="parent"app:layout_constraintTop_toTopOf="@+id/guideline_1"app:layout_constraintBottom_toBottomOf="parent" /></androidx.constraintlayout.widget.ConstraintLayout>

为了实现百分比布局,可以在ConstraintLayout中采用添加辅助线(Guideline)的方法2。在这个简单界面中,添加了一条水平辅助线,位于0.50的位置,然后两个控件用辅助线来限制。如图所示:

二、代码文件的编写

MainActivity.java的完整代码如下:

package com.example.textviewclick;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.*;import android.view.View;import android.view.View.*;import android.text.method.ScrollingMovementMethod;import java.text.SimpleDateFormat;import java.util.Date;public class MainActivity extends AppCompatActivity {private ImageView iv_scale;private TextView tv_bbs;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);tv_bbs = findViewById(R.id.tv_bbs);tv_bbs.setMovementMethod(new ScrollingMovementMethod());iv_scale = findViewById(R.id.iv_scale);iv_scale.setOnClickListener(new ClickTAction());tv_bbs.setOnClickListener(new ClickCAction());tv_bbs.setOnLongClickListener(new ClickLAction());}private class ClickTAction implements OnClickListener {private int flag = 0;@Overridepublic void onClick(View v) {if (v.getId() == R.id.iv_scale) {flag = (flag + 1) % 3;if (flag == 0) {iv_scale.setImageResource(android.R.color.holo_blue_bright);} else if (flag == 1) {iv_scale.setImageResource(android.R.color.holo_red_dark);} else if (flag == 2) {iv_scale.setImageResource(android.R.color.holo_green_dark);}}}}private final String[] mChatStr = {"您用餐了吗?","今天是个好日子。","我赢了!","我们去看电影,好吗?","我晚上做什么好呢?" };private class ClickCAction implements OnClickListener {@Overridepublic void onClick(View v) {if (v.getId() == R.id.tv_bbs) {int r = (int)(Math.random()*10) % 5;String s = String.format("%s\n%s %s", tv_bbs.getText().toString(), getNowTime(), mChatStr[r]);tv_bbs.setText(s);}}}private class ClickLAction implements OnLongClickListener {@Overridepublic boolean onLongClick(View v) {if (v.getId() == R.id.tv_bbs) {tv_bbs.setText("");}return true;}}private String getNowTime() {SimpleDateFormat s = new SimpleDateFormat("HH:mm:ss");return s.format(new Date());}}

在这里建立了一个TextView私有变量和一个ImageView变量,在onCreate()方法中用findViewById()方法与上面设计的2个控件对应,然后用setOnClickListener()方法在控件上绑定点击监听器。

用户在ImageView上点击改变图片内容采用了setImageResource()方法3。

总结

以上就是今天要讲的内容,本文简单介绍了Android Studio中TextViewImageView点击响应功能的实现。

欧阳燊. Android Studio开发实战. 清华大学出版社. . ↩︎

androidx.percentlayout.widget | Android Developers ↩︎

(android:点击换图系列一)通过ImageView点击更换图片_今人不见古时月,今月曾经照古人的博客-CSDN博客_imageview更换图片 ↩︎

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。