系出名门Android(6) - 控件(View)之DatePicker, TimePicker, ToggleButton, EditText, ProgressBar, SeekBar, AutoComplete

RK3572-Android16-记录一次OTA升级失败解决方案 这里记录一次解决RK3576 Android16 OTA 用Recovery 升级失败的一次解决案例,将部分经验作为总结。本次OTA升级耗时了几天,最终是RK给出的解决方案,再加上经验来解决了其它部分问题新平台,高一点的Android版本,可能本身有bug,多请教平台来,不要蒙着干,干不出来的。 阅读详情
[源码下载]


系出名门Android(6) - 控件(View)之DatePicker, TimePicker, ToggleButton, EditText, ProgressBar, SeekBar, AutoCompleteTextView, MultiAutoCompleteTextView


作者: webabcd


介绍
在 Android 中使用各种控件(View)
  • DatePicker - 日期选择控件
  • TimePicker - 时间选择控件
  • ToggleButton - 双状态按钮控件
  • EditText - 可编辑文本控件
  • ProgressBar - 进度条控件
  • SeekBar - 可拖动的进度条控件
  • AutoCompleteTextView - 支持自动完成功能的可编辑文本控件
  • MultiAutoCompleteTextView - 支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)


1、DatePicker 的 Demo
datepicker.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >
    
    
<!--
        DatePicker - 日期选择控件
    
-->
    
< DatePicker  android:id ="@+id/datePicker"
        android:layout_width
="wrap_content"  android:layout_height ="wrap_content" >
    
</ DatePicker >
    
</ LinearLayout >

_DatePicker.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;

public   class  _DatePicker  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);
        
this .setContentView(R.layout.datepicker);

        
//  具体的应用可参见对话框中的示例
        setTitle( " DatePicker " );
    }
}


2、TimePicker 的 Demo
timepicker.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >
    
    
<!--
        TimePicker - 时间选择控件
    
-->
    
< TimePicker  android:id ="@+id/timePicker"
        android:layout_width
="wrap_content"  android:layout_height ="wrap_content" >
    
</ TimePicker >
    
</ LinearLayout >

_TimePicker.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;

public   class  _TimePicker  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);
        
this .setContentView(R.layout.timepicker);

        
//  具体的应用可参见对话框中的示例
        setTitle( " TimePicker " );
    }
}


3、ToggleButton 的 Demo
togglebutton.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >
    
    
< TextView  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content"  android:id ="@+id/textView"   />
        
    
<!--  
        ToggleButton - 双状态按钮控件
            textOn - 当按钮状态为 true 时所显示的文本
            textOff - 当按钮状态为 false 时所显示的文本
    
-->
    
< ToggleButton  android:id ="@+id/toggleButton"
        android:layout_width
="wrap_content"  android:layout_height ="wrap_content"
        android:textOn
="关闭"  android:textOff ="打开"   />
        
</ LinearLayout >

_ToggleButton.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.view.View;
import  android.widget.Button;
import  android.widget.TextView;
import  android.widget.ToggleButton;

public   class  _ToggleButton  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);
        
this .setContentView(R.layout.togglebutton);

        setTitle(
" ToggleButton " );
        
        
final  ToggleButton btn  =  (ToggleButton)  this .findViewById(R.id.toggleButton);
        
//  setOnClickListener() - 响应按钮的鼠标单击事件
        btn.setOnClickListener( new  Button.OnClickListener(){
            @Override
            
public   void  onClick(View v) {
                TextView txt 
=  (TextView) _ToggleButton. this .findViewById(R.id.textView);
                
//  ToggleButton.isChecked() - 双状态按钮的按钮状态
                txt.setText( " 按钮状态: "   +  String.valueOf(btn.isChecked()));
            }
        });
    }
}


4、EditText 的 Demo
edittext.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >
    
    
<!--
        EditText - 可编辑文本控件
    
-->
    
< EditText  android:id ="@+id/editText"  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content" >
    
</ EditText >
    
</ LinearLayout >

_EditText.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.widget.EditText;

public   class  _EditText  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);
        
this .setContentView(R.layout.edittext);

        setTitle(
" EditText " );
        
        EditText txt 
=  (EditText)  this .findViewById(R.id.editText);
        txt.setText(
" 我可编辑 " );
    }
}


5、ProgressBar 的 Demo
progressbar.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >

    
<!--
        ProgressBar - 进度条控件
    
-->

    
<!-- 以下分别为大、中、小的进度条控件(圆圈状) -->
    
< ProgressBar  android:id ="@+android:id/progress_large"
        style
="?android:attr/progressBarStyleLarge"  android:layout_width ="wrap_content"
        android:layout_height
="wrap_content"   />
    
< ProgressBar  android:id ="@+android:id/progress"
        android:layout_width
="wrap_content"  android:layout_height ="wrap_content"   />
    
< ProgressBar  android:id ="@+android:id/progress_small"
        style
="?android:attr/progressBarStyleSmall"  android:layout_width ="wrap_content"
        android:layout_height
="wrap_content"   />

    
<!--
        进度条控件(条状)的演示
            style - 进度条的样式,本例使用内置样式
            max - 进度的最大值
            progress - 第一进度位置
            secondaryProgress - 第二进度位置
    
-->
    
< ProgressBar  android:id ="@+id/progress_horizontal"
        style
="?android:attr/progressBarStyleHorizontal"  android:layout_width ="200px"
        android:layout_height
="wrap_content"  android:max ="100"
        android:progress
="50"  android:secondaryProgress ="75"   />

</ LinearLayout >

_ProgressBar.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.view.Window;


//  另见对话框中的进度条
public   class  _ProgressBar  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);        
        
        
//  设置特性以允许在应用程序的标题栏上显示进度条(条状)
        requestWindowFeature(Window.FEATURE_PROGRESS);
        
//  设置特性以允许在应用程序的标题栏上显示进度条(圆圈状)
        requestWindowFeature(Window.FEATURE_INDETERMINATE_PROGRESS);

        
this .setContentView(R.layout.progressbar);

        setTitle(
" ProgressBar " );
        
        
//  在标题栏上显示进度条(条状)
        setProgressBarVisibility( true );
        
//  在标题栏上显示进度条(圆圈状)
        setProgressBarIndeterminateVisibility( true );
        
        
//  指定进度条的进度
        setProgress( 50   *   100 );
        setSecondaryProgress(
75   *   100 );
    }
}


6、SeekBar 的 Demo
seekbar.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >
    
    
<!--
        SeekBar - 可拖动的进度条控件
            max - 进度的最大值
            progress - 第一进度位置
            secondaryProgress - 第二进度位置
    
-->
    
< SeekBar  android:id ="@+id/seekBar"  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content"  android:max ="100"
        android:progress
="50"  android:secondaryProgress ="75"   />

    
< TextView  android:id ="@+id/progress"  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content"   />

    
< TextView  android:id ="@+id/tracking"  android:layout_width ="fill_parent"
        android:layout_height
="wrap_content"   />

</ LinearLayout >

_SeekBar.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.widget.SeekBar;
import  android.widget.TextView;

public   class  _SeekBar  extends  Activity  implements
        SeekBar.OnSeekBarChangeListener {

    SeekBar mSeekBar;
    TextView mProgressText;
    TextView mTrackingText;

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
//  TODO Auto-generated method stub
         super .onCreate(savedInstanceState);
        
this .setContentView(R.layout.seekbar);

        setTitle(
" SeekBar " );

        mSeekBar 
=  (SeekBar) findViewById(R.id.seekBar);
        
//  setOnSeekBarChangeListener() - 响应拖动进度条事件
        mSeekBar.setOnSeekBarChangeListener( this );
        
        mProgressText 
=  (TextView) findViewById(R.id.progress);
        mTrackingText 
=  (TextView) findViewById(R.id.tracking);
    }

    
//  拖动进度条后,进度发生改变时的回调事件
     public   void  onProgressChanged(SeekBar seekBar,  int  progress,
            
boolean  fromTouch) {
        mProgressText.setText(progress 
+   " % " );
    }

    
//  拖动进度条前开始跟踪触摸
     public   void  onStartTrackingTouch(SeekBar seekBar) {
        mTrackingText.setText(
" 开始跟踪触摸 " );
    }

    
//  拖动进度条后停止跟踪触摸
     public   void  onStopTrackingTouch(SeekBar seekBar) {
        mTrackingText.setText(
" 停止跟踪触摸 " );
    }

}


7、AutoCompleteTextView 的 Demo
autocompletetextview.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >

    
<!--
        AutoCompleteTextView - 支持自动完成功能的可编辑文本控件
    
-->
    
< AutoCompleteTextView  android:id ="@+id/editText"
        android:layout_width
="fill_parent"  android:layout_height ="wrap_content"   />

</ LinearLayout >

_AutoCompleteTextView.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.widget.ArrayAdapter;
import  android.widget.AutoCompleteTextView;

public   class  _AutoCompleteTextView  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
super .onCreate(savedInstanceState);
        setContentView(R.layout.autocompletetextview);

        setTitle(
" AutoCompleteTextView " );
        
        
//  实例化适配器,指定显示格式及数据源
        ArrayAdapter < String >  adapter  =   new  ArrayAdapter < String > (
                
this ,
                android.R.layout.simple_dropdown_item_1line, 
                ary);
        AutoCompleteTextView textView 
=  (AutoCompleteTextView) findViewById(R.id.editText);
        
//  指定自动完成控件的适配器
        textView.setAdapter(adapter);
    }

    
//  自动完成控件的所需数据的数据源
     private  String[] ary  =   new  String[] {
        
" abc " ,
        
" abcd " ,
        
" abcde " ,
        
" abcdef " ,
        
" abcdefg " ,
        
" hij " ,
        
" hijk " ,
        
" hijkl " ,
        
" hijklm " ,
        
" hijklmn " ,
    };
}


8、MultiAutoCompleteTextView 的 Demo
multiautocompletetextview.xml
代码
<? xml version="1.0" encoding="utf-8" ?>
< LinearLayout  xmlns:android ="http://schemas.android.com/apk/res/android"
    android:orientation
="vertical"  android:layout_width ="fill_parent"
    android:layout_height
="fill_parent" >

    
<!--
        MultiAutoCompleteTextView - 支持自动完成功能的可编辑文本控件,允许输入多值(多值之间会自动地用指定的分隔符分开)
    
-->
    
< MultiAutoCompleteTextView  android:id ="@+id/editText"
        android:layout_width
="fill_parent"  android:layout_height ="wrap_content"   />

</ LinearLayout >

_MultiAutoCompleteTextView.java
代码
package  com.webabcd.view;

import  android.app.Activity;
import  android.os.Bundle;
import  android.widget.ArrayAdapter;
import  android.widget.MultiAutoCompleteTextView;

public   class  _MultiAutoCompleteTextView  extends  Activity {

    @Override
    
protected   void  onCreate(Bundle savedInstanceState) {
        
super .onCreate(savedInstanceState);
        setContentView(R.layout.multiautocompletetextview);

        setTitle(
" MultiAutoCompleteTextView " );
        
        
//  实例化适配器,指定显示格式及数据源
        ArrayAdapter < String >  adapter  =   new  ArrayAdapter < String > (
                
this ,
                android.R.layout.simple_dropdown_item_1line, 
                ary);
        MultiAutoCompleteTextView textView 
=  (MultiAutoCompleteTextView) findViewById(R.id.editText);
        textView.setAdapter(adapter);
        
        
//  设置多个值之间的分隔符,此处为逗号
        textView.setTokenizer( new  MultiAutoCompleteTextView.CommaTokenizer());
    }

    
//  自动完成控件的所需数据的数据源
     private  String[] ary  =   new  String[] {
        
" abc " ,
        
" abcd " ,
        
" abcde " ,
        
" abcdef " ,
        
" abcdefg " ,
        
" hij " ,
        
" hijk " ,
        
" hijkl " ,
        
" hijklm " ,
        
" hijklmn " ,
    };
}


OK
[源码下载]

相关推荐

STM32G0实战:HAL库与LL库Flash操作避坑指南(附HardFault解决方案)

本文深入剖析了STM32G0系列微控制器在Flash操作中常见的HardFault问题,对比了HAL库与LL库在读写擦除操作上的底层差异与潜在陷阱。文章提供了基于寄存器状态分析的精准调试方法,并给出了经过实战检验的解决方案与健壮的代码框架,帮助开发者有效规避数据丢失与系统崩溃风险。

t8u9v0w1x的博客 730

系出名门 Android 系列文章索引

[源码下载]系出名门 Android 系列文章索引作者:webabcd介绍系出名门 Android 系列文章索引:搭建开发环境, 布局, 菜单, 对话框, 通知, 活动, 服务, 广播, 广播接收器, 控件, 数据库支持, 内容提供器, HTTP通信, XML解析, 异步消息处理1、系出名门Android(1) - 在 Windows 下搭建 Android 开发环境,以及 Hello Wor

webabcd的专栏 1533

利用mininet模拟SDN架构并进行DDoS攻击与防御模拟(Ryu+mininet+sflow+postman)

1、知识概述 (1)软件定义网络: (2)mininet: Mininet是一个强大的网络仿真平台,通过这个平台,我们可以很方便的模拟真实环境中的网络操作与架构。特别是SDN,在真实网络中进行相关的网络实验有一定难度,自然需要一个仿真平台可以学习这种新型的网络架构,而Mininet就应运而生,承担了这个光荣而艰巨的使命。Mininet自带交换机(switchs)、主机(hosts)、控制器(controllers),同时,在mininet上可以安装OpenvSwitch、多种控制器(NOX\POX

北风 1万+

系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView

[源码下载]系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView作者:webabcd介绍在 Android 中使用各种控件(View) ZoomControls - 放大/缩小按钮控件Include - 整合控

webabcd的专栏 1394

EDEM在农业机械设计中的实战应用:以谷物收割机优化为例

本文以谷物收割机优化为例,详细阐述了EDEM离散元仿真软件在农业机械设计中的实战应用。通过构建精准的“数字谷物”模型与农机部件动态界面,利用GPU加速完成大规模颗粒系统仿真,有效诊断并解决了籽粒夹带损失与清选负荷不均等田间难题,实现了从仿真分析到田间验证的设计优化闭环。

weixin_29256771的博客 106

手把手教你解决USB批量传输中512字节整数倍数据丢失问题

本文详细解析了USB批量传输中512字节整数倍数据丢失问题的根源,并提供了通过零长度包(ZLP)的解决方案。文章涵盖USB协议核心机制、ZLP实现代码示例(包括Android、Linux和Windows平台)、调试技巧及性能优化建议,帮助开发者彻底解决这一常见问题。

smartcontract5的博客 261

系出名门Android(10) - HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理

[源码下载]系出名门Android(10) - HTTP 通信, XML 解析, 通过 Hander 实现异步消息处理作者:webabcd介绍在 Android 中与服务端做 HTTP 通信,解析 XML,通过 Handler 实现异步消息处理 HTTP 通信 - 与服务端做 HTTP 通信,分别以 GET 方式和 POST 方式做演示XML 解析 - 可以用两种方式解析 XML,分别是 

webabcd的专栏 1373

【遥感数字图像处理(朱文泉)】各章博文链接汇总及思维导图

遥感数字图像处理(北京师范大学朱文泉教授)课程各章博文笔记汇总,及各章节思维导图

甜子yu的博客 2621

系出名门Android(2) - 布局(Layout)和菜单(Menu)

[源码下载]系出名门Android(2) - 布局(Layout)和菜单(Menu)作者:webabcd介绍在 Android 中各种布局的应用,以及菜单效果的实现  各种布局方式的应用,FrameLayout, LinearLayout, TableLayout, AbsoluteLayout, RelativeLayout  为指定元素配置上下文菜单,为应用程序配置选项菜单,以及多级菜

webabcd的专栏 1338

SpringBoot整合JWT实战:从零构建无状态认证系统,详解Token生成、验证与安全最佳实践

JWT在SpringBoot中的实现与应用 摘要:本文介绍了JWT(JSON Web Token)的基本概念、与Session机制的对比,以及SpringBoot项目中JWT的整合实现。JWT由Header、Payload和Signature三部分组成,具有无状态、跨域支持等优势。文章详细展示了如何在SpringBoot项目中配置JWT环境,封装JWT工具类来实现Token的生成、解析和验证功能,包括密钥管理、自定义声明、签名验证等核心操作。通过对比表格和生活化比喻,帮助读者理解JWT与传统Session的

本博客聚焦 YOLOv11 全流程落地,涵盖架构优化、数据集处理、训练技巧与多场景部署,兼及国产数据库、Java 开发与 AI 模型应用,内容兼顾理论与工程实践,为开发者提供系统干货,助力高效提升技术能力。 1772

零基础学simulink仿真建模--基于Simulink进行近端策略优化(PPO)路径规划的仿真建模

特点高效性与稳定性:通过引入剪裁机制,在更新策略时限制步长,从而提高了训练过程的稳定性和效率。适用于多种动作空间:可以处理连续和离散的动作空间问题。无需模型:不需要预先知道环境的确切模型,适合复杂或未知环境。挑战收敛速度与稳定性:确保算法能够在合理的时间内找到近似最优解,并保持训练过程的稳定性。探索与利用平衡:在探索新路径和利用已知信息之间取得平衡。计算资源:对于大规模状态空间和动作空间,计算资源需求较高。首先明确要模拟的任务内容。目标(例如到达指定地点、避开障碍物等)。

amy_mhd的博客 249

系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock

[源码下载]系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock作者:webabcd介绍在 Android 中使用各种控件(View) TextView - 文本显示控件Button - 按钮控件ImageBut

webabcd的专栏 1331

v86.01 鸿蒙内核源码分析 (静态分配篇) | 很简单的一位小朋友 | 百篇博客分析 OpenHarmony 源码

相比动态分配,静态内存池的分配就是个小弟弟,非常的简单,两个结构体 + 一张图 就能说明白。

日拱一卒,力出一孔 774

系出名门Android(9) - 数据库支持(SQLite), 内容提供器(ContentProvider)

[源码下载]系出名门Android(9) - 数据库支持(SQLite), 内容提供器(ContentProvider)作者:webabcd介绍在 Android 中使用 SQLite, ContentProvider  数据库支持(SQLite) - Android 开发平台提供了操作 SQLite 数据库的相关 API 内容提供器(ContentProvider) - 当数据需要在应用

webabcd的专栏 1182

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

系出名门Android(3) - 对话框(Dialog)和通知(Notification)

[源码下载]系出名门Android(3) - 对话框(Dialog)和通知(Notification)作者:webabcd介绍在 Android 中种对话框及各种通知效果的应用 常用对话框的使用,弹出式对话框、日期选择对话框、时间选择对话框、进度条对话框  通知(出现在通知列表)和提示性通知(Toast)的演示 1、常用对话框的演示res/layout/main.xml代码

webabcd的专栏 1173

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

系出名门Android(4) - 活动(Activity), 服务(Service), 广播(Broadcast), 广播接收器(BroadcastReceiver)

[源码下载]系出名门Android(4) - 活动(Activity), 服务(Service), 广播(Broadcast), 广播接收器(BroadcastReceiver)作者:webabcd介绍在 Android 中使用 Activity, Service, Broadcast, BroadcastReceiver 活动(Activity) - 用于表现功能  服务(Service

webabcd的专栏 883

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

系出名门Android(1) - 在 Windows 下搭建 Android 开发环境,以及 Hello World 程序

[源码下载]系出名门Android(1) - 在 Windows 下搭建 Android 开发环境,以及 Hello World 程序作者:webabcd介绍搭建 Android 的开发环境,以及写一个简单的示例程序  在 Windows 下搭建 Android 开发环境  Android 项目的目录结构说明写一个简单的 Hello World 程序   一、在 Windows 下搭建 A

webabcd的专栏 881

系出名门Android(8) - 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList

[源码下载]系出名门Android(8) - 控件(View)之TextSwitcher, Gallery, ImageSwitcher, GridView, ListView, ExpandableList作者:webabcd介绍在 Android 中使用各种控件(View) TextSwitcher - 文字转换器控件(改变文字时增加一些动画效果)Gallery - 缩略图浏览器控件I

webabcd的专栏 879

Android 14+ 模拟器抓包实录:把 Burp CA 装成系统 CA,让 targetSdk≥34 的 App 乖乖解密

本文记录了在 Android 14+ 环境下,通过将 Burp CA 安装为系统信任锚,成功抓取 targetSdk=35 App 的 HTTPS 明文流量的完整实操过程。针对“浏览器可用、App 不可用”的典型现象,精准识别出根本原因是系统级证书信任策略变更(用户安装的 CA 被屏蔽),而非 SSL Pinning。仅通过 adb 命令将 CA 推送至系统证书存储并重启生效,无需 Frida、Objection 或修改 APK,实现零侵入解密。全文命令均基于 Windows + MuMu 模拟器环境实测通

JIANqiao19931029的博客 337

具身智能 2026:启元人形机器人开发者生态的“安卓时刻”来了吗

一个贯穿全文的问题:人形机器人开发者生态,是否正从「封闭垂直」走向「开源平台化」?本文以开源底座的公开数据为标尺,盘点 SDK、URDF、仿真与技能分发的开放程度,并落回启元机器人的开源路径。所有关键数据均标注来源,文末附社区与学堂链接。

在北风吹起的时候加入我们的队伍 在秋雨到来的时候成为彼此的温暖 727

android-ad-cleaner:android免 Root 批量关闭系统开屏与营销推送

橘子,计算机视觉方向工程师,深耕 AIGC 与多媒体处理领域,专注技术实用化落地。本文为原创内容,转载请注明来源与作者。优快云 首发 | 版权所有 © 2026。

下载资源或查看教程前,请务必阅读置顶的《免责声明》 482

Android 14 SELinux策略深度解析

init 的全局公开约束(如 neverallow init execute_no_trans,放 public 才能约束所有分区的规则)这就是"哪些可见"的强制机制。alps_s0(MTK 工程)的 device/mediatek/sepolicy/basic/ 提供。所有分区(system/system_ext/product/vendor)都可引用。init的公开约束、跨分区共用的 type/attribute/neverallow。——vendor 的 .cil 只能引用 plat 的。

新时代农民工 100

Android 开发入门实践(二):Kotlin 空安全,从可空类型到安全访问

延续 NewsApp 项目中的新闻标题练习,记录 Kotlin 安全调用。

Easyhood的博客 272

Android 模块化收口:能力组合框架、手写 LifecycleOwner 与热修复共存

二十多个模块业务高度相似却各有差异,核心矛盾在于“统一与灵活”的平衡。通过角色接口组合(如IProjectAware、IVoiceAware)实现能力按需注入,新增功能零侵入;用模板方法锁定生命周期流程,确保顺序一致;结合@CallSuper与工厂方法,既约束关键逻辑,又保留子类自由。最终实现:骨架统一、填空自由,管得住业务,又不侵入业务。

mmsx990的博客 394

安卓部署Linux性能实测:一颗移动处理器,能否胜任日常 Linux 开发?

本文通过在一加Ace5上部署NimoteCode的ARM64 Linux环境,测试了其在CoreMark、SQLite编译及并行构建中的表现。结果显示,尽管单核性能约2.34GHz,多核扩展比达6.15×,但优化编译耗时仍高达35秒,反映移动处理器虽具备一定开发能力,却受限于文件系统开销与运行环境(如PRoot)。实际开发中,非优化构建效率较高,而并行编译可显著提速。结论:安卓手机可作为轻量级开发辅助工具,但无法替代桌面环境,真正价值在于便携性与即时响应,而非全功能替代。

一个不知名码农的专栏 281

Android中Gradle网络下载超时、更改存放位置(解决方案)

在国内开发Android应用,需要使用到一些外网才能正常访问的环境依赖。除了挂梯子,这里再提供几个常见问题的配置方案,可以已定程度减少下载超时问题。但是要注意,不同的开发环境、网络环境、时间段,出现的问题都是不可控的,遇到配置问题,建议保持耐心,多做尝试。

indeedes的博客 122
上一篇: 系出名门Android(5) - 控件(View)之TextView, Button, ImageButton, ImageView, CheckBox, RadioButton, AnalogClock, DigitalClock
下一篇: 系出名门Android(7) - 控件(View)之ZoomControls, Include, VideoView, WebView, RatingBar, Tab, Spinner, Chronometer, ScrollView
webabcd
博客等级 码龄17年 28粉丝 911原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值