安卓常见控件
来源:互联网 发布:广州软件开发工资 编辑:程序博客网 时间:2024/06/14 11:32
一:ScaleType
1:把小图片放入比图片大的scaletype中的八个属性
以下图片有属性分别对应的效果图
2:把大图片片放入比图片小的scaletype中的八个属性
以下图片有属性分别对应的效果图
二:进度条
1,进度分为ProgressBar和ProgressBar(horizontal)
前者是圆形进度条后者是水平进度条
今天我来就举个例子是用水平进度条
这是在xml文件中写的代码
<ProgressBar
android:id="@+id/pb_progressBar_1" style="?android:attr/progressBarStyleHorizontal" android:layout_width="match_parent" android:layout_height="wrap_content" />
<Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:onClick="download" android:text="下载" />这是在Java文件中写的代码
package com.example.g160828_android6_2_widget;import android.content.Intent;import android.os.Handler;import android.os.Message;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.ImageView;import android.widget.ProgressBar;import android.widget.Switch;import android.widget.TextView;import android.widget.Toast;import android.widget.ToggleButton;public class MainActivity extends AppCompatActivity { private ProgressBar pb_progressBar_1; private TextView tv_main_1; private ImageView itv_main_1; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //得到进度条的id pb_progressBar_1 = (ProgressBar) findViewById(R.id.pb_progressBar_1); //得到显示数字的ID tv_main_1 = (TextView) findViewById(R.id.tv_main_1); } //进度条 public void download(View view) { new MyThread().start(); } //子程序与主线之间的中间者 Handler handler = new Handler() { //接收消息 @Override public void handleMessage(Message msg) { super.handleMessage(msg); int i = msg.what; tv_main_1.setText(i + ""); } }; //子程序 class MyThread extends Thread { @Override public void run() { super.run(); for (int i = 0; i <= 100; i++) { pb_progressBar_1.setProgress(i); //发消息 handler.sendEmptyMessage(i);try { Random r=new Random(); int n= r.nextInt(200); Thread.sleep(n);} catch (InterruptedException e) { e.printStackTrace();}} } }}
三:Switch滑动开关
这是在xml文件中写的代码
<Switch android:id="@+id/sw_switch1" android:layout_width="match_parent" android:layout_height="wrap_content" android:text="你点不点!" android:onClick="switch1" />这是在Java文件中写的代码
public void switch1(View view) { boolean b = ((Switch) view).isChecked(); if (b) { itv_main_1.setImageResource(R.drawable.mei_1); Toast.makeText(this, " 你已经开启了哦", Toast.LENGTH_SHORT).show(); } else { itv_main_1.setImageResource(R.drawable.mei_2); Toast.makeText(this, " 你已经关闭了哦", Toast.LENGTH_SHORT).show(); }}四:seekBar这是在xml文件中写的代码
<ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/iv_seekbar_1" android:src="@drawable/mei_1" /><SeekBar android:id="@+id/sk_seekBar" android:layout_width="match_parent" android:layout_height="wrap_content" />这是在Java文件中写的代码
package com.example.g160828_android6_2_widget;import android.app.Activity;import android.os.Bundle;import android.support.annotation.Nullable;import android.support.v7.app.AppCompatActivity;import android.view.View;import android.widget.ImageView;import android.widget.RatingBar;import android.widget.SeekBar;import android.widget.Toast;public class SeekbarActivity extends AppCompatActivity {//定义一个数组private int image[]={R.drawable.mei_1,R.drawable.mei_2}; private int imagetext=0; private ImageView iv_seekbar_1; private SeekBar sk_seekBar; private int oop; private RatingBar ratingBar2; @Override protected void onCreate(@Nullable Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_seekbar); //设置默认 //获得控件的ID iv_seekbar_1 = (ImageView) findViewById(R.id.iv_seekbar_1); sk_seekBar = (SeekBar) findViewById(R.id.sk_seekBar); ratingBar2 = (RatingBar) findViewById(R.id.ratingBar2); //设置最大值 sk_seekBar.setMax(255); //放到最大点 sk_seekBar.setProgress(255); //放一个监听 sk_seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { @Override public void onProgressChanged(SeekBar seekBar, int i, boolean b) { oop=i; } @Override public void onStartTrackingTouch(SeekBar seekBar) { iv_seekbar_1.setImageAlpha(oop); } @Override public void onStopTrackingTouch(SeekBar seekBar) { } }); } public void select1(View view) { iv_seekbar_1.setImageResource(image[0]);} public void select2(View view) { iv_seekbar_1.setImageResource(image[1]); }}五:RatingBar 五星好评xml中<RadioGroup android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:id="@+id/rg_main_rg">Java代码ratingBar2.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() { @Override public void onRatingChanged(RatingBar ratingBar, float v, boolean b) { Toast.makeText(SeekbarActivity.this, v+"颗星星", Toast.LENGTH_SHORT).show(); }});
阅读全文
0 0
- 安卓常见控件
- 初识安卓——常见控件
- 安卓常见布局
- 安卓常见布局
- 安卓ui控件
- 自定义安卓控件
- 安卓----自定义控件
- 安卓控件属性
- 安卓控件大全
- 初学安卓控件
- 安卓自定义控件
- 安卓控件注入
- 安卓控件Dialog
- 安卓星级控件
- 安卓自定义控件
- 安卓控件布局
- 安卓自定义控件
- 安卓自定义控件
- 简单的Junit和Maven结合应用(Maven项目怎么进行Junit单元测试以及常见问题解决方法)
- js正则表达式的使用详解
- js的数组知识之深入理解map和reduce
- 一个选择离职的夜晚有感
- numpy基础——numpy.argsort
- 安卓常见控件
- UGUI 类炉石传说箭头效果实现
- Java中Object类的equals()和hashCode()方法深入解析
- 理解CSS雪碧图
- DFS 水题Lake Counting
- 微信公众号平台网页授权接口中获取到的授权code传递给(即一个微信公众号网页授权给)任何其他多个回调域名下的url,解决了只能设置一个网页授权回调域名的问题,解决了redirect_uri参数错误的问
- python中的intern机制
- numpy基础——numpy.tile
- Merge Sort Algorithm