IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> Andriod 开发的基本控件和属性 -> 正文阅读

[移动开发]Andriod 开发的基本控件和属性

控件一TextView? ? ??【2021最新版】Android(安卓)开发零基础入门课程【全套】(由小米、阿里、腾讯、爱奇艺一线大厂老师打造)_哔哩哔哩_bilibili

??从字面意思上看,TextView就是文本视图,只是用来显示文字的。在iOS中就叫做标签,即为UILabel。要想在Activity中显示TextView, 我们需要在相应的布局文件,也就是Activity对应的layout.xml文件去添加相应的控件标签。这些xml标签可以确定控件的位置,大小,颜色等属性。下方是在Activity中显示一个TextView。

基本的属性

android:layout_width=""

android:layout_height=""

android:text=""

android:textColor=""

android:textStyle=""字体的风格

android:textSize=""字体的大小

android:background=""textView背景颜色

android:gravity=""内容的位置或者布局

给TextView的相关内容设置阴影

android:shadowColor="#FF0000"设置阴影的颜色

?android:shadowDx="3"? ? 设置阴影在X轴的偏移程度

android:shadowRadius="3.0"设置阴影的宽度

android:shadowDy="2"??设置阴影在Y轴的偏移程度

跑马灯的相关效果的实现:

android:singleLine="true"  内容单行显示
android:focusable="true"    是否获取焦点
android:focusableInTouchMode="true"   触摸条件下获取焦点
android:ellipsize="marquee"在哪里省略文本
android:marqueeRepeatLimit="marquee_forever"  字幕动画重复的次数
android:clickable="true"
<TextView
       android:layout_width="120dp"
       android:layout_height="wrap_content"
       android:layout_marginTop="30dp"
       android:background="@color/black"
       android:text="@string/text_1"
       android:textSize="16dp"
       android:singleLine="true"
       android:focusable="true"
       android:focusableInTouchMode="true"
       android:ellipsize="marquee"
       android:marqueeRepeatLimit="marquee_forever"
       android:clickable="true"
       />

控件二:EditText? ??EditText

? ? ?接下来要为Activity添加一个输入框,在Android中输入框的类型和标签都是EditText。iOS中的输入框就是UITextField了,其实两者用法类似,其功能都是接收用户输入的数据的。下方是其xml布局方式.

<EditText
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:hint="姓名"
        android:textSize="20dp"
        android:textColorHint="#FF0033"
        android:textColor="#FF0033"
        android:layout_marginLeft="16dp"
        android:maxLines="1"
        android:drawableLeft=""在输入框的左边添加图片
        android:padding=""设置内容与边距的距离
        android:background=""背景颜色
        android:inputType="text"输入的数据类型
        />

hint属性:设置提示字

textColorHint:设置提示字的颜色

textColor:输入字的颜色

maxLine:最大可以输入的行数

?android:drawableLeft=""在输入框的左边添加图片

?android:padding=""设置内容与边距的距离

android:background=""背景颜色

android:inputType="text"输入的数据类型

控件三:Button

? ? ? 在Android中的按钮就叫Button, 而在iOS中则叫UIButton。其两者的用法极为相似。还是和上面类似,我们需要在Activity对应的布局文件layout.xml中添加一个Button, 具体的xml代码如下所示。

android:color="#000000"

android:state_pressed="false"

android:state_checked="true"控件是否被勾选

android:state_focused="true"是否获得焦点

android:state_enabled="true" 空间是否可用

android:state_selected="true" 空间是否被选择,针对的是有滚轮的情况下

按钮长安变色的实现过程:

selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:color="@color/purple_700"  android:state_pressed="true"/>
    <item android:color="#3CC4C4"
        android:state_pressed="false"/>
</selector>

?android:color="@color/purple_700"? ? ? android:state_pressed="true"表示长按按钮的时候按钮颜色变为什么色

android:color="@color/purple_700"? ? ? android:state_pressed=“false" 不按时按钮的颜色为什么色

三大事件:点击事件? 、长按事件、触摸事件。

声明控件

得到控件id

创立相对应的事件

  @Override
    protected void onCreate(Bundle savedInstanceState) {
        Button but1;
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_button);
        but1 = findViewById(R.id.button11);
       but1.setOnClickListener(new View.OnClickListener() {
               @Override
                public void onClick(View view) {
        //点击事件
                }
            });
         but1.setOnLongClickListener(new View.OnLongClickListener() {
             @Override
             public boolean onLongClick(View view) {
                 //长按事件
                 return false;
             }
         });
       but1.setOnTouchListener(new View.OnTouchListener() {
           @Override
           public boolean onTouch(View view, MotionEvent motionEvent) {
               return false;
               //触摸事件
           }
       });
    }

控件四AlterDialog(警告框)

?Toast用来显示提示内容,而AlterDialog是警告框,上面可以有一些控件,比如按钮等。AlterDialog其实就是iOS中的AlterView(在iOS8后有增加了UIAlterController)。下面的代码是初始化AlterDialog并且进行显示的代码,下方的代码是放在点击按钮所触发的方法当中。

(1)AlterDialog通过AlterDialog的Builder进行创建,在创建的时候会指定该AlterDialog在那个Activity上进行显示。

(2)通过setTitle方法给AlterDialog设置标题,通过setMessage给AlterDialog设置内容。

(3)setCancelable()方法,我们在这儿设置的时false,表示弹出的AlterDialog在用户点击返回键是不消失,该值默认是true。

(4)setPositiveButton()方法是设置点击“确定”按钮时的事件,?setNegativeButton是设置点击“取消”按钮的事件。通过Toast来展示事件的点击。

AlterDialog.Builder builer = new?AlterDialog.Builder(this);首先进行创建

通过setTitle方法给AlterDialog设置标题

通过setMessage给AlterDialog设置内容。

setPositiveButton()方法是设置点击“确定”按钮时的事件,?setNegativeButton是设置点击“取消”按钮的事件。通过Toast来展示事件的点击。

 public void onlick(View view) {
        AlertDialog.Builder builder = new AlertDialog.Builder(this);
        builder.setIcon(R.mipmap.ic_launcher)
                .setTitle("我是对话框")
                .setMessage("今天天气这么样?")
                .setPositiveButton("确定", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick:点击了确定");

                    }
                })
                .setNegativeButton("取消", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick: 点击了取消" );
                    }
                })
                .setNeutralButton("中间", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialogInterface, int i) {
                        Log.e(TAG, "onClick:点击了中间 " );
                    }
                })
                .create().show();
    }

控件五:ProgressBar(进度条)

? ? ? ? 进度条,就是平时下载东西常见到表示下载进度的控件。ProgressBar和iOS中的? ? ?UIProgressView类似,用法也是非常类似的。首先需要在Activity对应的Xml文件中对ProgressBar进行布局和样式的设定。下方是ProgressBar的布局和样式。

xml:
<ProgressBar
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/ProgressBar"
    />
 <Button
     android:layout_width="wrap_content"
     android:layout_height="wrap_content"
     android:text="显示隐藏进度条"
     android:onClick="ProgressBar"/>



java代码块:
public void ProgressBar(View view) {
        ProgressBar progressbar = findViewById(R.id.ProgressBar);
        if (progressbar.getVisibility()== view.GONE){
            progressbar.setVisibility(View.VISIBLE);
        }else{
            progressbar.setVisibility(view.GONE);
        }
    }

控件六 :Notification

?1.NotificationChannel channel

通知的渠道,Android8.0引入了通知的渠道,其允许您为要现实的每种通知类型创建用户可自定义的渠道。

NotificationManager.IMPORTANCE_HIGH 开启通知,会弹出,发出提示声,状态栏中显示

NotificationManager.IMPORTANCE_NONE关闭通知

NotificationManager.IMPORTANCE_MIN? ?开启通知,不会弹出,但没有提示声,状态栏中无显示

NotificationManager.IMPORTANCE_LOW? 开启通知,不会弹出,不发出提示音,状态栏中显示

NotificationManager.IMPORTANCE_DEFAULT? ?开启通知,不会弹出,发出提示音,状态栏中显示

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.O){
            NotificationChannel channel = new NotificationChannel("jiang", "测试通知", NotificationManager.IMPORTANCE_MIN);
             manager.createNotificationChannel(channel);
        }

2.创建Notification Buider:

创建Notifiction时,可以用NotificationCompat.Builder对象来指定Notification的UI内容,一个NotificationCompat.Builder对象至少包含以下内容,

setColor 设置小图标的颜色

setLargeIcon设置大图标

setWhen? 设置通知的时间

setContentIntent(pendingIntent intent)设置点击事件后的跳转意图

setContentIntent使用方法:

Intent intent = new Intent(this, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(this,0,intent,0);

notification= new NotificationCompat.Builder(this,"jiang")
        .setContentTitle("通知标题")
        .setSubText("世界这么大,我想去看看")
        .setSmallIcon(R.drawable.abc_vector_test)
        .setContentIntent(pendingIntent)
        .build();

setAutoCancel()设置点击事件后自动清除通知

notification= new NotificationCompat.Builder(this,"jiang")
                .setContentTitle("通知标题")
                .setSubText("世界这么大,我想去看看")
                .setSmallIcon(R.drawable.abc_vector_test)
                .setColor()
                .setLargeIcon()
                .setAutoCancel()
                .setWhen()
                .setContentIntent(PendingIntent intent)
                .build();

注意:在使用setSmallIcon()设置小图标的时候

? ? ? ? ? android从5.0系统开始,对于通知栏图标的设计进行了修改 , 现在Google要求,所有应用层的通知图标,应该只使用alpha图层,而不能使用包括RGB图层。
3.发送:

manager.notify(1 ,notification);

控件七:IamgeView

android:scaleType="centerInside"

center相关的属性和fit相关的属性。具体如下

android:scaleType="centerInside"? 最终目的是将图片放在imageView中,不管是放大和缩小

android:scaleType="centerCrop"

android:scaleType="fitstart"? 保持图片的宽高比缩放图片,知道较长的边和imageView的边长相等,并且把缩放后的图片放在左上角。

android:scaleType="fitend"??保持图片的宽高比缩放图片,知道较长的边和imageView的边长相等,并且把缩放后的图片放在右下角。

android:scaleType="fitcenter"保持图片的宽高比缩放图片,知道较长的边和imageView的边长相等,并且把缩放后的图片放在中间。

android:scaleType="fitXY" 把图片的横纵都进行放缩,知道图片填充满整个image,图片的得长宽高比例可能被改变。

android:maxHeight="200dp"?android:maxWeight="200dp"

android:adjustViewBounds="true

控件八:Toolbar控件

layout-width 设置宽度

layout-height 设置高度

background? 设置背景颜色

APP:title? 设置标题

APP:subtitle? 设置子标题

APP:subtitleTextColor设置子标题的颜色

相关的属性也可以在java代码块中进行设置

注意导包问题:

android:layout_width="match_parent"
     android:layout_height="wrap_content"
     android:background="#0CFFFF"
     app:navigationIcon=""
     app:title="标题"
     app:titleTextColor="#000000"
     app:subtitle="@string/text_1"
     app:subtitleTextColor="#FF3300"
     app:logo=""
     android:id="@+id/toolBar"






java块:
 Toolbar toolbar = findViewById(R.id.toolBar);

             toolbar.setNavigationOnClickListener(new View.OnClickListener() {
                 @Override
                 public void onClick(View view) {
                     Log.e("loe", "onClick: toolbar事件" );
                 }
             });

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-10-07 13:57:32  更:2021-10-07 13:58:23 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 23:51:34-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码