• Andriod Studio(三):控件


    可以在这三个文件里预定义好要用的样式、字符串、颜色。在其他地方引用时,代码中用 R. 获得,XML中用 @ 获取。

    1. styles.xml

    这里定义了基本的样式:

      2. colors.xml 

    可以在网上搜集一些颜色加进去

      3. strings.xml

    定义一些字符串,比如APP名字,要换名字直接在这里更改就行了。

    <string name="app_name">淘你喜欢</string>

      4. 修改应用的图标和名称

    AndroidMainfest.xml文件中,找到对应的文件,在被引用的文件里修改。

    android:icon="@mipmap/ic_launcher"  指定应用图标
    android:label="@string/app_name" 指定应用名称

     ------------------------------------控------------------件-----------------------------------

    基础:

    andriod:id="@+id"  在XML中引用一个id用 @id/id_name;定义一个id用 @+id/id_name。

    定义当前元素的长宽:

    match_parent:和父元素一样

    wrap_content:自适应,刚好包住内容

    android:layout_width="200dp"
    android:layout_height="100dp"

    所有活动都要在AndroidManifest.xml中注册才能生效,Android Studio会自动帮我们注册。

    还需要为程序配置主活动,让程序知道先启动谁。配置方法如下图:

    添加了新的活动之后,怎么启动?

    修改主活动的类(MainActivity.java)中按钮事件:

    public void onClick(View v){
        Intent intent = new Intent(MainActivity.this,SecondActivity.class);
        startActivity(intent);
    }

    Intent是一个意图,第一个参数是上下文,第二个参数是目标活动。

    Intent是Android程序中各组件之间进行交互的一种重要方式,它不仅可以指明当前组件想要执行的动作,还可以在不同组件之间传递数据。 显式Intent可以用于明确指定启动某个Activity。

    即在MainActivity活动基础上打开SecondActivity活动。

    intent还可以启动其他程序的活动,比如打开一个网页:

    1  @Override
    2  public void onClick(View v){
    3    Intent intent = new Intent(Intent.ACTION_VIEW);
    4    intent.setData(Uri.parse("http://www.baidu.com"));
    5    startActivity(intent);
    6  }

      一、TextView

    用途:显示文本信息

    效果图:

    添加阴影效果:

    1 android:shadowColor="@color/red"  阴影颜色
    2 android:shadowRadius="5.0"  阴影半径
    3 android:shadowDx="10.0"  x轴偏移量
    4 android:shadowDy="10.0"  y轴偏移量

     跑马灯效果:

    1         android:singleLine="true"  是否单行显示
    2         android:ellipsize="marquee"  在哪里省略文本,marquee是可移动的
    3         android:focusable="true"  是否可以获取焦点
    4         android:focusableInTouchMode="true"  在触摸模式下是否可以聚焦
    5         android:marqueeRepeatLimit="marquee_forever"  字幕动画重复次数

    二、Button

     1. 在xml里添加Button控件:

      效果如图:

     textAllCaps="false" 这一行是因为,默认是true,会自动把text内容转换成大写。

    2. 在Activity中给按钮添加监听

    方法一:

      方法二:接口

     三、EditText

    用途:允许用户输入和编辑内容,如发短信,发微博

    1. 提示信息,用户输入时消失 用 android:hint

    android:hint="请输入用户名"

      2. 控制输入栏的行数

    android:maxLines="1"

    3. 获取EditText的输入内容

    想要在哪个活动里获取就在哪个活动类里写。

    添加 private EditText editText;

    在onCreate里根据Id找到这个 editText=(EditText)findViewById(R.id.edit_text);

    例如我们想按下按钮就显示输入的信息:

    在onClick里添加:

      String inputText = editText.getText().toString();

      Toast.makeText(this,inputText, Toast.LENGTH_SHORT).show();

    四、ImageView

    用途:展示图片

        <ImageView
            android:id="@+id/image_view"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_launcher_foreground"/>

    效果图:

     点击按钮切换图片:调用setImageResource()方法

    Activity里声明图片  private ImageView imageView; 

    onCreate里获取图片  imageView=(ImageView) findViewById(R.id.image_view);

    onClick里调用方法更换图片:imageView.setImageResource(R.drawable.ic_launcher_background);

    五、ProgressBar

    用途:显示进度条

    默认显示的是一个圆圈,也可以更改成进度条样式,max设置进度条最大值。

      设置进度条进度

      

    六、AlertDialog

    用途:弹出对话框,但会屏蔽其他控件交互,因此用于非常重要的警告信息。

      

       

    七、Toast

    用途:提示消息,一段时间后自动消失。

    Toast是Android系统提供的一种非常好的提醒方式。 在程序中可以使用它将一些短小的信息通知给用户,这些信息会在一段时间后自动消失,并且不会占用任何屏幕空间。

    1)定义一个弹出Toast的触发点

    findViewById():返回一个View对象,强制转换成Button对象。

    2)注册一个监听器

    3)makeText() 创建一个Toast对象

    第一个参数 context:上下文,可以传入活动本身;

    第二个参数 text:显示的文本内容;

    第三个参数 Toast 显示的时长,两个内置常量:Toast.LENGTH_SHORT、Toast.LENGTH_LONG。

      效果图:

      

    八、Menu

    用途:右上角菜单项

    Menu提供了一种机制,可以让界面中的菜单项在默认情况下不显示。 只有当用户主动点击了菜单按钮时,才会弹出里面具体的内容,因此它不会占用任何Activity的空间。

    在activity_main.xml中添加了一个按钮。

        <Button
            android:id="@+id/button_1"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Button1"/>

    在res文件夹下创建了menu文件夹和main.xml文件

      main.xml中添加如下代码:

    1 <?xml version="1.0" encoding="utf-8"?>
    2 <menu xmlns:android="http://schemas.android.com/apk/res/android">
    3     <item
    4         android:id="@+id/add_item"
    5         android:title="Add"/>
    6     <item
    7         android:id="@+id/remove_item"
    8         android:title="Remove"/>
    9 </menu>

    在MainActivity.java中重写onCreate并添加按钮监听

     1     @Override
     2     protected void onCreate(Bundle savedInstanceState) {
     3         super.onCreate(savedInstanceState);
     4         setContentView(R.layout.activity_main);
     5         Button button1 = (Button) findViewById(R.id.button_1);
     6         button1.setOnClickListener(new View.OnClickListener(){
     7             @Override
     8             public void onClick(View v){
     9                 Toast.makeText(MainActivity.this, "You Click Button 1", Toast.LENGTH_SHORT).show();
    10             }
    11         });
    12     }

    重写创建选项菜单函数和选项被选择函数

     1     @Override
     2     public boolean onCreateOptionsMenu(Menu menu) {
     3         //得到menuInflater对象,inflate方法创建菜单,参数1 指定要创建菜单的资源文件,参数2 指定添加对象
     4         getMenuInflater().inflate(R.menu.main,menu);
     5         return true;
     6     }
     7 
     8     @Override
     9     public boolean onOptionsItemSelected(@NonNull MenuItem item) {
    10         switch(item.getItemId()){ //判断点击的哪一个菜单项
    11             case R.id.add_item:
    12                 Toast.makeText(this, "You Click Add", Toast.LENGTH_SHORT).show();
    13                 break;
    14             case R.id.remove_item:
    15                 Toast.makeText(this,"You Click Remove",Toast.LENGTH_SHORT).show();
    16                 break;
    17             default:
    18         }
    19         return true;
    20     }

    Tips: 按下Ctrl+o 可以快速选择重写对象

     效果图:

    创建一个Return按钮,返回上一层:

    修改onClick()里的逻辑就行了,调用finish()。

      

    九、RecyclerView  滚动控件

    在app下的build.gradle文件里添加依赖:

    implementation 'androidx.recyclerview:recyclerview:1.2.1'

     3中的代码再添加一段:

    效果图:

  • 相关阅读:
    Android零基础入门第22节:ImageView的属性和方法大全
    Android零基础入门第21节:ToggleButton和Switch使用大全
    Android零基础入门第20节:CheckBox和RadioButton使用大全
    Android零基础入门第19节:Button使用详解
    Android零基础入门第18节:EditText的属性和使用方法
    Android零基础入门第17节:Android开发第一个控件,TextView属性和方法大全
    Android零基础入门第16节:Android用户界面开发概述
    Android零基础入门第15节:掌握Android Studio项目结构,扬帆起航
    Android零基础入门第14节:使用高速Genymotion,跨入火箭时代
    <bean> 中的单例 和 原型 scope="singleton" //单例 scope="prototype" //原型
  • 原文地址:https://www.cnblogs.com/tomatokely/p/15979615.html
Copyright © 2020-2023  润新知