我的编程空间,编程开发者的网络收藏夹
学习永远不晚

Android基础控件(EditView、SeekBar等)的使用方法

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

Android基础控件(EditView、SeekBar等)的使用方法

 android提供了大量的UI控件,本文将介绍TextView、ImageView、Button、EditView、ProgressBar、SeekBar、ScrollView、WebView的使用方法。在介绍各种控件之前,先简单介绍android UI控件最基本的几种属性:

id: id是控件唯一标识符,可通过**findViewById(R.id.*)**操作控件。
layout_width:控件宽度,可设置为match_parent(充满父布局,即让父布局决定当前控件的宽度)、wrap_content(恰好包住里面的内容)、具体值(一般以dp作为单位)。
layout_width:控件高度,可设置为match_parent、wrap_content、具体值。
visibility:可见与否,有三个可选值:visible(可见,不设置该属性为默认值)、invisible(透明,仍在屏幕上占据空间)、gone(不可见,不占据空间)。
1.TextView(文本)

TextView可以说是最简单的控件了。

1.1 基本属性


<!--res/layout/activity_main.xml-->
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:orientation="vertical">
  <TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:gravity="center"
    android:textSize="30sp"
    android:textColor="#334433"
    android:text="@string/app_name"
    />
</LinearLayout>

text: text属性即显示出来的文字,@string/app_name表示引用资源文件res/values/strings.xml中的app_name,也可以直接写内容。


<!--res/values/strings.xml-->
<resources>
  <string name="app_name">UIExample</string>
  <string name="title_activity_main">MainActivity</string>
</resources>

gravity: 对TextView中内容位置的设定,可选值为top、bottom、left、right、center等。可以为多个值,例如希望文字位于该TextView的右下角,设置为gravity="right|bottom",用 | 隔开
textSize与textColor 文字大小与颜色。
id: 这里用了"\@+id/text",表示给id分配一个唯一标识符text,与引用类似,多了一个+。
1.2 定义style

    假如上面的样式是标题的样式,且被重复使用多次。如果每个标题都这样定义样式,不但增加工作量,而且会使用修改变得很困难,这种情况下,将style抽象出来能解决这个问题。
    这与Web开发中CSS的作用如出一辙。


<!--res/values/styles.xml 增加TextTitle-->
<resources>
  ...
  <style name="TextTitle">
    <item name="android:textColor">#334433</item>
    <item name="android:textSize">30sp</item>
    <item name="android:gravity">center</item>
  </style>
</resources>
<!--res/layout/activity_main.xml 将TextView作如下修改即可-->
  <TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/app_name"
    style="@style/TextTitle"
    />

1.3 动态操作


// 使用代码动态设置TextView中的文本内容
public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    // 通过findViewById,获取TextView的实例。
    // 使用setText()与getText()赋值和取值。
    TextView textView = (TextView) findViewById(R.id.text);
    textView.setText("Hello World!");
    Log.d("MainActivity",textView.getText().toString());
  }
}

2.ImageView(图片)

有文本,自然少不了图片。


<ImageView
  android:id="@+id/image"
  android:layout_width="wrap_content"
  android:layout_height="wrap_content"
  android:class="lazy" data-src="@drawable/test_image"
  />

id: 若不在java代码中动态操作,id属性可以省略。
class="lazy" data-src: 即定义显示的图片,将需要加载的图片放置在 res/drawable/目录下即可。


// 调用setImageResource()方法即可。
// 需要加载的图片复制到 res/drawable/ 目录下。
ImageView imageView = (ImageView) findViewById(R.id.image);
imageView.setImageResource(R.drawable.test_image2);

3.Button(按钮)

3.1 基本样式


<Button
  android:id="@+id/button_1"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="I Am A Button"
  />

text: text即按钮上的提示内容
3.2 点击事件

3.2.1 为点击事件注册监听器


// 第12行,注册监听器OnClickListener,复写onClick()函数。
public class MainActivity extends Activity {
  private TextView textView;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.text);
    Button button = (Button) findViewById(R.id.button_1);
    button.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        // ... 省略点击事件
        // 例如:textView.setText("Hello World");
      }
    });
  }
}

3.2.2 实现接口OnClickListener


// 第14行,将点击事件绑定到 this
// 第17行,复写接口OnClickListener的onClick()方法
// java中只能继承一个类,接口可以看作java的多继承方式
public class MainActivity extends Activity implements View.OnClickListener{
  private TextView textView;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.text);
    Button button = (Button) findViewById(R.id.button_1);
    button.setOnClickListener(this);
  }
  @Override
  public void onClick(View view){
    // 根据id判断,若一个活动中有多个控件需绑定点击事件
    // 使用该方式,该方法简洁直观
    switch (view.getId()){
      case R.id.button_1:
        // ... 省略点击事件
        // 例如:textView.setText("Hello World!");
        break;
      default:
        break;
    }
  }
}

4.EditText(输入框)

4.1 基本样式


<EditText
  android:id="@+id/edit"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:maxLines="3"
  android:hint="Please Input..."
  />

maxLines: 指定输入框的最大行号为3行,超过3行后,文本将向上滚动,EditText不会继续被拉伸。如果不指定,EditText将随着输入内容的增加而被拉伸。
hint: 类似Html中的placeholder,用于输入框的提示。
4.2 获取输入内容


// 点击按钮,打印输入的内容。
public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // ...
    Button button = (Button) findViewById(R.id.button_1);
    final EditText editText = (EditText) findViewById(R.id.edit);
    button.setOnClickListener(new View.OnClickListener() {
      @Override
      public void onClick(View v) {
        // 使用 getText()方法获取editText的内容
        String input_text = editText.getText().toString();
        Log.d("MainActivity",input_text);
      }
    });
  }
}

5.ProgressBar(进度条)

5.1 圆形进度条


<ProgressBar
  android:id="@+id/progress_bar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:visibility="gone"
  />

visibility: visible(可见)、invisible(透明,占据空间)、gone(不可见,不占据空间),初始值设置为不可见。


// 一般比较耗时的工作,会暂时显示进度条,工作完成后,进度条消失
// 以下代码模拟该过程
public class MainActivity extends Activity implements View.OnClickListener{
  private ProgressBar progressBar;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    // ...
    Button button = (Button) findViewById(R.id.button_1);
    progressBar = (ProgressBar) findViewById(R.id.progress_bar);
    button.setOnClickListener(this);
  }
  @Override
  public void onClick(View view) {
    switch (view.getId()){
      case R.id.button_1:
        // 点击按钮后,如果当前状态可见,则变为不可见
        // 如不可见,则变为可见
        if(progressBar.getVisibility() == View.GONE) {
          progressBar.setVisibility(View.VISIBLE);
        } else {
          progressBar.setVisibility(View.GONE);
        }
        break;
      default: break;
    }
  }
}

5.2 水平进度条


<ProgressBar
  android:id="@+id/progress_bar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:max="100"
  style="@style/Base.Widget.AppCompat.ProgressBar.Horizontal"
  />

style: 设置style为水平样式,其他样式可以自己尝试。


// 将onClick() 改为
@Override
public void onClick(View view) {
  switch (view.getId()){
    case R.id.button_1:
      // 获取当前进度值,每次点击进度值+10
      int progress = progressBar.getProgress();
      progressBar.setProgress(progress + 10);
    default: break;
  }
}

6.SeekBar(滑动条)

6.1 基本样式


<SeekBar
  android:id="@+id/seek_bar"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:max="100"
  android:progress="50"
  />
<TextView
  android:id="@+id/text"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:gravity="center"
  />

max: 滑动条的最大值,设置为 100
progress: 初始化滑动条的值,设置为 50
6.2 注册滑动监听器


public class MainActivity extends Activity {
  private TextView textView;
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    textView = (TextView) findViewById(R.id.text);
    SeekBar seekBar = (SeekBar) findViewById(R.id.seek_bar);
    // 设置滑动监听器,复写三个事件函数,分别是值改变、开始滑动、结束滑动
    seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
      @Override
      public void onProgressChanged(SeekBar seekBar, int progress, 
          boolean fromUser) {
        if(fromUser){
          // 用户主动滑动,值改变时触发该事件
          textView.setText("用户正在滑动,当前值:" + progress);
        }
      }
      @Override
      public void onStartTrackingTouch(SeekBar seekBar) {
        Log.d("MainActivity","开始滑动时触发该事件");
      }
      @Override
      public void onStopTrackingTouch(SeekBar seekBar) {
        Log.d("MainActivity","结束滑动时触发该事件");
      }
    });
  }
}

7.SrollView(可滚动视图)


<ScrollView
  android:layout_width="wrap_content"
  android:layout_height="wrap_content">
  <!-- ... 省略其他控件-->
  <TextView
    android:id="@+id/text"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    />
</ScrollView>

当TextView的内容过多时(一页显示不完),这时使用ScrollView可以使页面变为可垂直滚动模式,垂直滚动看完所有内容。
8.WebView(浏览器)


<WebView
  android:id="@+id/web_view"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  />

在AndroidManifest.xml中加入访问网络的权限


<manifest ... >
  <application ...>
    ...
  </application>
  <uses-permission android:name="android.permission.INTERNET"/>
</manifest>

public class MainActivity extends Activity {
  @Override
  protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    WebView webView = (WebView) findViewById(R.id.web_view);
    // 允许执行javasript
    webView.getSettings().setJavaScriptEnabled(true);
    // 设置代理,复写shouldOverrideUrlLoading函数
    webView.setWebViewClient(new WebViewClient(){
      @Override
      public boolean shouldOverrideUrlLoading(WebView view,String url){
        view.loadUrl(url); //加载网页
        return true; //true表示使用当前WebView打开网页,不使用系统浏览器
      }
    });
    webView.loadUrl("//www.jb51.net");
  }
}

运行程序,类似于一个打开了网页的浏览器,只是缺少网址输入框。

您可能感兴趣的文章:Android控件之EditView常用属性及应用方法Android 点击editview以外位置实现隐藏输入法


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

Android基础控件(EditView、SeekBar等)的使用方法

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android基础控件(EditView、SeekBar等)的使用方法

android提供了大量的UI控件,本文将介绍TextView、ImageView、Button、EditView、ProgressBar、SeekBar、ScrollView、WebView的使用方法。在介绍各种控件之前,先简单介绍an
2022-06-06

Android基础控件RadioGroup使用方法详解

RadioGroup是Android中的一个基础控件,用于实现一组单选按钮,同一时间只能选择一个单选按钮。RadioGroup的使用方法如下:1. 在布局文件中声明一个RadioGroup控件:```xmlandroid:id="@+id/
2023-08-08

Android控件之EditView常用属性及应用方法

EditView类继承自TextView类,EditView与TextView最大的不同就是用户可以对EditView控件进行编辑,同时还可以为EditView控件设置监听器,用来判断用户的输入是否合法。 以下为EditVi
2022-06-06

Android控件之SeekBar的用法总结

1 SeekBar简介 SeekBar是进度条。我们使用进度条时,可以使用系统默认的进度条;也可以自定义进度条的图片和滑块图片等。 2 SeekBar示例 创建一个activity,包含2个SeekBar。第1个SeekBar是系统默认的S
2022-06-06

Android基础控件RadioGroup如何使用

使用Android基础控件RadioGroup的步骤如下:1. 在布局文件中添加一个RadioGroup控件:```xmlandroid:id="@+id/radioGroup"android:layout_width="wrap_cont
2023-08-09

常用的android基础控件有哪些

常用的Android基础控件包括:1. TextView:用于显示文本。2. EditText:用于输入文本。3. Button:用于触发点击事件。4. ImageView:用于显示图片。5. CheckBox:用于选择操作。6. Radi
2023-09-21

Android控件之ToggleButton的使用方法

ToggleButton的状态只能是选中和未选中,并且需要为不同的状态设置不同的显示文本。 以下案例为ToggleButton的用法 目录结构main.xml布局文件 代码如下:
2022-06-06

Android控件AppWidgetProvider使用方法详解

介绍AppWidgetProvider是Android中提供的用于实现桌面小工具的类,其本质是一个广播,即BroadcastReceiver,在实际的使用中,把AppWidgetProvider当成一个BroadcastReceiver即可
2023-05-30

Android控件系列之ImageView使用方法

学习目的: 1、掌握在Android中如何插入图片 图片的加入可以立刻让您的程序增色不少,我们样例选用一张Android机器人(picture.jpg),您可以使用自己的任何图片进行试验 一般建议您程序中的图片加入资源,而不是放在SD卡中用
2022-06-06

Android控件系列之Shape使用方法

如果你对Android系统自带的UI控件感觉不够满意,可以尝试下自定义控件,我们就以Button为例,很早以前Android123就写到过Android Button按钮控件美化方法里面提到了xml的selector构造。当然除了使用dra
2022-06-06

Android编程之控件ListView使用方法

本文实例讲述了Android编程之控件ListView使用方法。分享给大家供大家参考。具体分析如下: 控件ListView是一个重要的控件,可以被用作用户列表等显示,下面进行它的操作测试。 下面代码实现了生成了一个ListView显示,并对
2022-06-06

Android控件系列之EditText使用方法

学习目的: 1、掌握在Android中如何建立EditText2、掌握EditText的常用属性3、掌握EditText焦点的事件、按键的事件(监听器) 介绍: EditText是接受用户输入信息的最重要控件。通过前面课程的学习,您可能会猜
2022-06-06

Android使用控件ImageView加载图片的方法

在 Android 加载图片一般使用 ImageView,这里简单记录一下这个控件的使用方法。 最简单就是在 xml 里直接使用 ImageView 标签:
2022-06-06

Android重要控件SnackBar使用方法详解

SnackBar是DesignSupportLibrary中的一个重要的控件,用于在界面下面提示一些关键信息,跟Toast不同的地方是SnackBar允许用户向右滑动消除它,同时,也允许在SnackBar中设定一个Action,当用户点击了
2022-06-06

android ListView和ProgressBar(进度条控件)的使用方法

ListView控件的使用:ListView控件里面装的是一行一行的数据,一行中可能有多列,选中一行,则该行的几列都被选中,同时可以触发一个事件,这种控件在平时还是用得很多的。使用ListView时主要是要设置一个适配器,适配器主要是用来放
2022-06-06

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录