Android——TextView、Button

今天进行了安卓学习,学习了布局中TextViewh和Button两大组件。

TextView

1、常用属性:

layout_width:组件宽度;layout_height:组件高度。

wrap_content:根据控件定义大小;match_content:根据容器定义大小。

textStyle:字体风格,normal 无效果(默认),bold加粗,italic 斜体

gravity:控件中内容对齐方式

2、带阴影的TextView

shadowColor:设置阴影颜色,必须与shadowRadius一起使用,该属性设置字体模糊程度

shadowDx/shadowDy:设置阴影的坐标

singleLine:设置内容单行显示

focusable:是否可以获取焦点  <requestFocus>请求焦点

focusableInTouchMode:控制视图在触摸模式下是否可以聚焦

ellipsize:在哪里省略文本 ;marquee跑马灯显示

marqueeRepeatLimit字幕动画重复次数

下面是我使用上面的属性制作的跑马灯效果

<TextView
        android:id="@+id/tv_one"
        android:text="@string/tv_one"
        android:singleLine="true"
        android:ellipsize="marquee"
        android:marqueeRepeatLimit="marquee_forever"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:textColor="@color/purple_700"
        android:textStyle="italic"
        android:textSize="20sp"
        android:gravity="center"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        android:shadowColor="@color/black"
        android:shadowRadius="3.0"
        android:shadowDx="10.0"
        android:shadowDy="10.0">
        <requestFocus/>
    </TextView>

Button

1、常用属性

drawable:引用drawable中的图片作为按钮的图片

state_focused 是否获取焦点
state_pressed 控件是否被按下
state_enabled 控件是否可用
state_selected 控件是否被选择
state_checked 控件是否被勾选
state_window_focused 是否获取窗口焦点
state_active 控件是否处于活跃状态
state_single 多个控件,是否只显示一个控件
state_first 多个控件,是否只显示第一个控件
state_middle 多个控件,是否只显示中间控件
state_last 多个控件,是否只显示最后一个控件
background Tint 颜色选择器设置
foreground 前景色

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

前景色指的是插入,绘制的图形图片的颜色。

2、Button事件

点击事件:btn.setonClickListener(new View.onClickListener(){})

长按事件:btn.setonLongclickListener()

触摸事件:btn.setonTouchListener()

<Button
        android:id="@+id/btn"
        android:layout_width="200dp"
        android:layout_height="100dp"
        android:text="我是按钮"
        android:onClick="leoClick"
        android:background="@drawable/btn_selector"/>
package com.example.mybutton;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.util.Log;
import android.view.MotionEvent;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {

    private static final String TAG = "jzz";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btn = findViewById(R.id.btn);
        //点击事件
//        btn.setOnClickListener(new View.OnClickListener() {
//            @Override
//            public void onClick(View view) {
//                Log.e(TAG, "onClick: ");
//            }
//        });

        //长按事件
        btn.setOnLongClickListener(new View.OnLongClickListener() {
            @Override
            public boolean onLongClick(View view) {
                Log.e(TAG, "onLongClick: " );
                return false;
            }
        });

        //触摸事件
        btn.setOnTouchListener(new View.OnTouchListener() {
            @Override
            public boolean onTouch(View view, MotionEvent motionEvent) {
                Log.e(TAG, "onTouch: " + motionEvent.getAction());
                return false;
            }
        });
    }

    public void leoClick(View view) {
        Log.e(TAG, "onClick: ");
    }
}

这是我做的一个案例,点击时候图片显示会改变。

posted on 2022-03-02 22:06  跨越&尘世  阅读(181)  评论(0编辑  收藏  举报