随笔 - 217  文章 - 4  评论 - 4  阅读 - 23587

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   跨越&尘世  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· DeepSeek在M芯片Mac上本地化部署
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示