从零开始水安卓——基础UI组件8(AutoCompleteTextView ProgressBar)

目录

AutoCompleteTextView

概述

属性

使用

ProgressBar

概述

形态

属性

方法

DialogProgress(进度条对话框)

标题进度条

自定义进度条


AutoCompleteTextView

概述

字面翻译过来话....即自动完成文本框

效果就是 用户输入内容的时候,系统会自动给出补全提示的下拉(或上拉?)菜单

(类似于百度搜索,打一个关键字,下面下拉菜单出来一堆给你选)

EditText的子类

与它类似的还有一个MultiAutoCompleteTextView(能够识别分隔符)

属性

输入几个才进行提示

android:completionThreshold="3"

使用

使用和Spinner类似,在使用前先在res-----values里定义一个字符串数组,但是没有entires属性,所以得通过代码实现.


然后这里发现了一个华点

跟着视频学的安卓,视频里的人一直都会进行强制类型转换,发现好像补转换也没什么关系...

查了一下,果然是版本问题...

https://www.jianshu.com/p/2da8501d0308


public class MainActivity extends AppCompatActivity {
    private AutoCompleteTextView autoCompleteTextView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        autoCompleteTextView = findViewById(R.id.autoCompleteTextView);
        ArrayAdapter adapter = ArrayAdapter.createFromResource(this,R.array.my_array,android.R.layout.simple_dropdown_item_1line);
        autoCompleteTextView.setAdapter(adapter);

    }
}

 

效果如图....

可以看到代码和Spinner基本上是一样的.

 

ProgressBar

概述

翻译过来就是进度条的意思...

继承自View

主要作为操作进度的可视指示器,呈现操作进度,还具有一个次要的进度条,用于显示中间进度

(比如视频进度条,由一条总的,然后中间还有一条随着时间的推移在走的,话说这不应该才是主要的?)

形态

有两种,表盘形式和条形填充形式,如下图

通过下面的语句进行设置样式

水平:

style="?android:attr/progressBarStyleHorizontal"

表盘:

style="?android:attr/progressBarStyle"

 

属性

常见的属性,第一个表示最大值,第二个表示默认进度,第三个是第二进度条,就是淡粉色的那一块

其他的....

  • android:max:进度条的最大值
  • android:progress:进度条已完成进度值
  • android:progressDrawable:设置轨道对应的Drawable对象
  • android:indeterminate:如果设置成true,则进度条不精确显示进度
  • android:indeterminateDrawable:设置不显示进度的进度条的Drawable对象
  • android:indeterminateDuration:设置不精确显示进度的持续时间
  • android:secondaryProgress:二级进度条,类似于视频播放的一条是当前播放进度,一条是缓冲进度,前者通过progress属性进行设置!

方法:

  • getMax():返回这个进度条的范围的上限
  • getProgress():返回进度
  • getSecondaryProgress():返回次要进度
  • incrementProgressBy(int diff):指定增加的进度
  • isIndeterminate():指示进度条是否在不确定模式下
  • setIndeterminate(boolean indeterminate):设置不确定模式下

出处:http://www.runoob.com/w3cnote/android-tutorial-progressbar.html

 

DialogProgress(进度条对话框)

进度条对话框----在API27已经过时

添加一个按钮,绑定一个点击事件 例如:

     android:onClick="showDialogProgress"

再编写对应方法..

    public void showDialogProgress(View v){
        //创建对话框进度条
        ProgressDialog pd = new ProgressDialog(this);
        pd.setMax(100);
        pd.setIndeterminate(false);
        pd.setProgress(30);
        pd.setTitle("下载对话框");
        pd.setMessage("正在下载中");
        pd.show();
    }

即可实现图示效果...

还可以对样式进行一定的修改(会发现setProgress没什么用....orz)

另外可以用下面一句简单的语句来实现...参数可以见旁边的提示信息

标题进度条

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //设置标题
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);//也是已经过时了..
        setContentView(R.layout.activity_main);
        //显示进度条
        setProgressBarIndeterminateVisibility(true);

    }

但是我实际上运行起来不能显示...最后查了下资料,估计是API版本的问题...新版本估计已经不支持了吧

可以在AndroidManifest.xml中修改android:theme="@android:style/Theme.Holo.Light" 临时解决一下

 

自定义进度条

通过一个图片来自定义进度条

emm但是我好像没有什么合适的图片...

只能日后再试了...大概的记录一下方法

1.在res/drwable下创建一个layer-list

2.设置ProgressBar的android:indeterminateDrawble属性

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

云无心鸟知还

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值