热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

第一行代码:Android(第二版)——第三章笔记(一)

文章目录参考书籍:第一行代码:Android(第二版)(郭霖):第三章一、常用控件使用方法1、初学暂时使用的布局2、TextView2、B


文章目录

    • 参考书籍:第一行代码:Android(第二版)(郭霖):第三章
    • 一、常用控件使用方法
      • 1、初学暂时使用的布局
      • 2、TextView
      • 2、Button
      • 3、EditText
      • 4、小案例:EditText和Button结合使用
      • 5、ImageView
      • 6、ProgressBar
      • 7、AlertDialog
      • 8、ProgressDialog


参考书籍:第一行代码:Android(第二版)(郭霖):第三章


一、常用控件使用方法


1、初学暂时使用的布局


<LinearLayout xmlns:android&#61;"http://schemas.android.com/apk/res/android"android:orientation&#61;"vertical"android:layout_width&#61;"match_parent"android:layout_height&#61;"match_parent">
LinearLayout>

2、TextView

TextView可以说是Android中最简单的一个控件&#xff0c;它主要用于在界面上显示一段文本信息&#xff0c;比如第一章中的HelloWorld&#xff0c;更多的使用方法如下

<TextViewandroid:id&#61;"&#64;&#43;id/text_view"android:layout_width&#61;"match_parent"android:layout_height&#61;"100dp"android:gravity&#61;"center"android:text&#61;"HelloWorldHelloWorldHelloWorldHelloWorldHelloWorldHelloWorld"android:background&#61;"#BBC8C3"android:textStyle&#61;"italic"android:textSize&#61;"24sp"android:textColor&#61;"#229000FF"android:shadowColor&#61;"&#64;color/purple_700"android:shadowDx&#61;"15.0"android:shadowDy&#61;"15.0"android:shadowRadius&#61;"10.0"android:singleLine&#61;"true"android:focusable&#61;"true"android:focusableInTouchMode&#61;"true"android:ellipsize&#61;"marquee"android:marqueeRepeatLimit&#61;"marquee_forever"/>

2、Button

Button是程序用于用户进行交互的一个重要控件


<Buttonandroid:id&#61;"&#64;&#43;id/button1"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:text&#61;"Button"android:textAllCaps&#61;"false"/>

3、EditText

是程序用于和用户进行交互的另一个重要控件&#xff0c;它允许用户在控件里输入和编辑内容&#xff0c;并可以在程序中对这些内容进行处理


<EditTextandroid:id&#61;"&#64;&#43;id/edit_text"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:hint&#61;"提示文本"android:maxLines&#61;"2"/>

4、小案例&#xff1a;EditText和Button结合使用

//MainActivity.java
import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;public class MainActivity extends AppCompatActivity {private EditText editText;&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/** 通过点击按钮来获取EditText中输入的内容* */Button button&#61;(Button) findViewById(R.id.button1);editText&#61;(EditText) findViewById(R.id.edit_text);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button1:String inputText&#61;editText.getText().toString();//消息提示Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();break;default:break;}}});}
}

运行结果&#xff1a;

在这里插入图片描述


5、ImageView

ImageView是用于在界面上展示图片的一个控件&#xff0c;它可以让我们的程序界面变得更加丰富多彩&#xff0c;这个控件需要提前准备好一些图片&#xff0c;图片通常存放在以“drawable”开头的目录下&#xff0c;目前项目中有一个空的drawable目录&#xff0c;但是这个目录没有指定分辨率&#xff0c;所以一般不使用它来放置图片&#xff0c;这里在res目录下新建一个drawable-xhdpi目录&#xff0c;然后将准备好的两张图片img1.png和img2.png复制到该目录中。

<ImageViewandroid:id&#61;"&#64;&#43;id/image_view"android:layout_width&#61;"wrap_content"android:layout_height&#61;"wrap_content"android:src&#61;"&#64;drawable/img1" />

6、ProgressBar

用于在界面上显示一个进度条&#xff0c;表明程序正在加载一些数据&#xff0c;运行之后会看到屏幕中有一个圆形的进度条正在旋转

<ProgressBarandroid:id&#61;"&#64;&#43;id/progress"android:layout_width&#61;"match_parent"android:layout_height&#61;"wrap_content"android:visibility&#61;"visible"style&#61;"&#64;style/Widget.AppCompat.ProgressBar.Horizontal"android:max&#61;"100"/>
progressBar&#61;(ProgressBar)findViewById(R.id.progress);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {switch (view.getId()){case R.id.button1:String inputText&#61;editText.getText().toString();//消息提示Toast.makeText(MainActivity.this,inputText,Toast.LENGTH_SHORT).show();//通过按钮监控加载进度
// if(progressBar.getVisibility()&#61;&#61;View.GONE){
// progressBar.setVisibility(View.VISIBLE);
// }else{
// progressBar.setVisibility(View.GONE);
// }//动态修改水平进度条数据,每点击一次按钮进度条就加10int projress&#61;progressBar.getProgress();projress&#61;projress&#43;10;progressBar.setProgress(projress);break;default:break;}}
});

7、AlertDialog

可以在当前的界面弹出一个对话框&#xff0c;这个对话框是置顶于所以界面元素之上的&#xff0c;能够屏蔽掉其他控件的交互能力&#xff0c;因此AlertDialog一般都是用于提示一些非常重要的内容或者警告信息&#xff0c;例如防止用户误删重要内容&#xff0c;在删除前弹出一个确认对话框

//onCreate()方法里面添加此代码&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main); Button button&#61;(Button) findViewById(R.id.button1);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {
/*首先通过AlertDialog.Builder创建一个AlertDialog的实例&#xff0c;然后可以为这个话题框设置标题、内容、可否使用back键关闭对话框等属性&#xff0c;接下来调用setPositiveButton()方法为对话框设置确定按钮的点击事件调用setNegativeButton()方法设置取消按钮的点击事件&#xff0c;最后调用show()方法将对话框显示出来
*/
switch(view.getId()){case R.id.button1:AlertDialog.Builder dialog&#61;new AlertDialog.Builder(MainActivity.this);dialog.setTitle("This is a dialog");dialog.setMessage("Something important.");//设置是否可以用back键返回dialog.setCancelable(false);dialog.setPositiveButton("OK", new DialogInterface.OnClickListener() {&#64;Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {&#64;Overridepublic void onClick(DialogInterface dialogInterface, int i) {}});dialog.show();break;default:break;}}});}
}

运行结果&#xff1a;

在这里插入图片描述


8、ProgressDialog

和AlertDialog有点类似&#xff0c;都可以在界面上弹出一个对话框&#xff0c;都能够屏蔽掉其他控件的交互能力。不同的是&#xff0c;ProgressDialog会在对话框中显示一个进度条&#xff0c;一般用于标识当前操作比较耗时&#xff0c;让用户耐心等待。

&#64;Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);/** 通过点击按钮来获取EditText中输入的内容* */Button button&#61;(Button) findViewById(R.id.button1);editText&#61;(EditText) findViewById(R.id.edit_text);progressBar&#61;(ProgressBar)findViewById(R.id.progress);button.setOnClickListener(new View.OnClickListener() {&#64;Overridepublic void onClick(View view) {/** 这里也是先构建一个ProgressDialog对象&#xff0c;然后同样可以设置标题&#xff0c;内容* 可否取消等属性最后调用show()方法显示出来* progressDialog.setCancelable(true)如果填了false则不能通过back键取消* 就需要再数据加载出来之后使用dismiss()方法来关闭对话框&#xff0c;不然ProgressDialog会一直在* */switch(view.getId()){case R.id.button1:ProgressDialog progressDialog&#61;new ProgressDialog(MainActivity.this);progressDialog.setTitle("This is ProgressDialog");progressDialog.setMessage("Loading......");progressDialog.setCancelable(true);progressDialog.show();break;default:break;}}});}

运行结果&#xff1a;

在这里插入图片描述


推荐阅读
  • 本文介绍如何在 Android 中自定义加载对话框 CustomProgressDialog,包括自定义 View 类和 XML 布局文件的详细步骤。 ... [详细]
  • 本文探讨了资源访问的学习路径与方法,旨在帮助学习者更高效地获取和利用各类资源。通过分析不同资源的特点和应用场景,提出了多种实用的学习策略和技术手段,为学习者提供了系统的指导和建议。 ... [详细]
  • 技术分享:深入解析GestureDetector手势识别机制
    技术分享:深入解析GestureDetector手势识别机制 ... [详细]
  • Android ListView 自定义 CheckBox 实现列表项多选功能详解
    本文详细介绍了在Android开发中如何在ListView的每一行添加CheckBox,以实现列表项的多选功能。用户不仅可以通过点击复选框来选择项目,还可以通过点击列表的任意一行来完成选中操作,提升了用户体验和操作便捷性。同时,文章还探讨了相关的事件处理机制和布局优化技巧,帮助开发者更好地实现这一功能。 ... [详细]
  • 掌握Android UI设计:利用ZoomControls实现图片缩放功能
    本文介绍了如何在Android应用中通过使用ZoomControls组件来实现图片的缩放功能。ZoomControls提供了一种简单且直观的方式,让用户可以通过点击放大和缩小按钮来调整图片的显示大小。文章详细讲解了ZoomControls的基本用法、布局设置以及与ImageView的结合使用方法,适合初学者快速掌握Android UI设计中的这一重要功能。 ... [详细]
  • 为了优化直播应用底部聊天框的弹出机制,确保在不同设备上的布局稳定性和兼容性,特别是在配备虚拟按键的设备上,我们对用户交互流程进行了调整。首次打开应用时,需先点击首个输入框以准确获取键盘高度,避免直接点击第二个输入框导致的整体布局挤压问题。此优化通过调整 `activity_main.xml` 布局文件实现,确保了更好的用户体验和界面适配。 ... [详细]
  • 深入解析 Android Drawable:第六阶段进阶指南 ... [详细]
  • 本文介绍了一种自定义的Android圆形进度条视图,支持在进度条上显示数字,并在圆心位置展示文字内容。通过自定义绘图和组件组合的方式实现,详细展示了自定义View的开发流程和关键技术点。示例代码和效果展示将在文章末尾提供。 ... [详细]
  • 在处理 XML 数据时,如果需要解析 `` 标签的内容,可以采用 Pull 解析方法。Pull 解析是一种高效的 XML 解析方式,适用于流式数据处理。具体实现中,可以通过 Java 的 `XmlPullParser` 或其他类似的库来逐步读取和解析 XML 文档中的 `` 元素。这样不仅能够提高解析效率,还能减少内存占用。本文将详细介绍如何使用 Pull 解析方法来提取 `` 标签的内容,并提供一个示例代码,帮助开发者快速解决问题。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 开发笔记:深入解析Android自定义控件——Button的72种变形技巧
    开发笔记:深入解析Android自定义控件——Button的72种变形技巧 ... [详细]
  • 通过菜单项触发Activity启动过程详解
    本文详细解析了通过菜单项触发Activity启动的过程。在Android开发中,菜单项是用户与应用交互的重要途径之一。文章从技术角度深入探讨了如何通过菜单项触发特定Activity的启动,并提供了具体的代码示例和实现步骤。通过对菜单项的响应处理、Intent的创建与传递等关键环节的分析,帮助开发者更好地理解和掌握这一机制。 ... [详细]
  • Android 图像色彩处理技术详解
    本文详细探讨了 Android 平台上的图像色彩处理技术,重点介绍了如何通过模仿美图秀秀的交互方式,利用 SeekBar 实现对图片颜色的精细调整。文章展示了具体的布局设计和代码实现,帮助开发者更好地理解和应用图像处理技术。 ... [详细]
  • 本文探讨了在Android应用中实现动态滚动文本显示控件的优化方法。通过详细分析焦点管理机制,特别是通过设置返回值为`true`来确保焦点不会被其他控件抢占,从而提升滚动文本的流畅性和用户体验。具体实现中,对`MarqueeText.java`进行了代码层面的优化,增强了控件的稳定性和兼容性。 ... [详细]
  • 使用ArcGIS for Java和Flex浏览自定义ArcGIS Server 9.3地图
    本文介绍了如何在Flex应用程序中实现浏览自定义ArcGIS Server 9.3发布的地图。这是一个基本的入门示例,适用于初学者。 ... [详细]
author-avatar
啊迎春的-爱
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有