栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Android小实例-文本变换(字的大小与颜色)

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Android小实例-文本变换(字的大小与颜色)

Android小实例-文本变换(字的大小与颜色)
  • 介绍
  • 代码实现
  • 相关知识
    • spinner控件
    • SeekBar
  • 效果图

介绍

文本的字体大小变换和颜色变换。

代码实现

页面布局主要由seekbar控制字体大小变换,spinner下拉框控制颜色变换


     
    

           
             
                     
       

        
             
                         
    

还需要一个arrays.xml用来配置Spinner的列表数据源,arrays.xml文件在values文件夹下创建
在Spinner控件中设置为android:entries="@array/spinner_content"



            
            黑色        
            绿色
            蓝色
            黄色        
            青色    
     


下面是Java逻辑代码

package com.buxiaju.test2;
import android.graphics.Color;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.Spinner;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity{
    @Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);		
	    setContentView(R.layout.activity_main);
	    //获取控件对象		
	    SeekBar mSeekBar = findViewById(R.id.seek_bar);		
	    TextView mTextProgress = findViewById(R.id.tv_progress);		
	    TextView mText = findViewById(R.id.tv);
	    Spinner mSpinner = findViewById(R.id.sp_dropdown);		
	    TextView mTextSpinner = findViewById(R.id.tv_spinner);
	    
	    //实现一个SeekBar的监听事件
		mSeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
		    @Override //当滑块进度改变时,会执行该方法下的代码
			public void onProgressChanged(SeekBar seekBar, int i, boolean b) {				
			    mText.setTextSize(i);//设置当前的字体大小				
			    mTextProgress.setText("当前字体大小: " + i + "/20");			
			}
			@Override //当开始滑动滑块时,会执行该方法下的代码
			public void onStartTrackingTouch(SeekBar seekBar) {
		        Toast.makeText(MainActivity.this, "我seekbar开始滑动了", Toast.LENGTH_SHORT).show();			}			
			@Override //当结束滑动滑块时,会执行该方法下的代码			
			public void onStopTrackingTouch(SeekBar seekBar) {				
			    Toast.makeText(MainActivity.this, "我seekbar结束滑动了", Toast.LENGTH_SHORT).show();			}		
			});

        //实现一个Spinner的监听事件
        mSpinner.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {
            @Override
			public void onItemSelected(AdapterView parent, View view, int i, long id) {
			if (i == 0) {
			    mTextSpinner.setText("当前颜色:黑色");				
			    mText.setTextColor(Color.BLACK);				
			} else if (i == 1) {
			    mTextSpinner.setText("当前颜色:绿色");					
			    mText.setTextColor(Color.GREEN);				
			} else if (i == 2) {					
			    mTextSpinner.setText("当前颜色:蓝色");
			    mText.setTextColor(Color.BLUE);				
			} else if (i == 3) {					
			    mTextSpinner.setText("当前颜色:黄色");					
                mText.setTextColor(Color.YELLOW);				
            } else if (i == 4) {					
                 mTextSpinner.setText("当前颜色:青色");					
                 mText.setTextColor(Color.CYAN);				
            }else {									
            }			
        }

            @Override
			public void onNothingSelected(AdapterView parent) {

			}

		});

	}


}

相关知识 spinner控件

spinner是下拉框控件
下拉列表有两种,在xml文件中设置spinnerMode属性:dropdown为在当前下拉框的正下方弹出列表框,dialog为在页面中部弹出列表对话框。
例:android:spinnerMode="dropdown"

可以直接在xml中布置Spinner的数据源
使用android:entries=@/array/数据名称
在values文件夹下建立一个arrays.xml
也可以在Java代码中创建数组适配器,在用代码设置Spinner的数据源,使用setAdapter方法设置

在Java代码中Spinner有四个方法

  • setPromt:设置标题文字。只有对话框模式才显示标题,下拉模式不显示
  • setAdapter:设置列表项的数据适配器
  • setSelection:设置当前选中那项。注意该方法要在setAdapter方法后使用
  • setOnItemSelectedListener:设置下拉列表的选择监听器,该监听器要实现接口OnItemSelectedListener
SeekBar

常用属性:

属性名含义
max设置该进度条的最大值
progress设置该进度条的已完成进度值
progressDrawable自定义drawable显示
secondaryProgress定义二级进度值,值介于0到max。该进度在主进度和背景之间。比如用于网络播放视频时,二级进度用于表示缓冲进度,主进度用于表示播放进度。
thumb设置进度条的滑块图片
splitTrack滑块底部 背景样式 (false为透明 )

SeekBar监听事件
主要实现setOnSeekBarChangeListener,与OnSeekBarChangeListener接口
该监听事件重写三个方法。

方法作用
onStartTrackingTouch当开始滑动滑块时,会执行该方法下的代码
onStopTrackingTouch当结束滑动滑块时,会执行该方法下的代码
onProgressChanged当滑块进度改变时,会执行该方法下的代码

例如:

SeekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
            @Override  //当滑块进度改变时,会执行该方法下的代码            
            public void onProgressChanged(SeekBar seekBar, int i, boolean b) {                
            ......           
            }            
            @Override  //当开始滑动滑块时,会执行该方法下的代码            
            public void onStartTrackingTouch(SeekBar seekBar) {                
            ......          
            }            
            @Override   //当结束滑动滑块时,会执行该方法下的代码            
            public void onStopTrackingTouch(SeekBar seekBar) {                
            ...... 
            }        
});
效果图


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/860924.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号