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: "); } }
这是我做的一个案例,点击时候图片显示会改变。