布局管理器
分为LinearLayout(线性布局)
RelativeLayout(相对布局)等等
LinearLayout
常用属性
必有: layout_width 控件宽度
layout_height 控件高度
宽
match_parent匹配父控件宽度
wrap_content内容多少,宽度多少
高
wrap_content
match_parent同样
id 控件名称
background背景:颜色,图片,自定义…
margin外边距 控件
padding内部元素距离边距 控件
gravity内部元素位置
orientation横竖布局
vertical垂直
horizontal横向
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
如这个是用于启动Touch项的
TextView
- 文字大小颜色
- 显示不下使用…
- 文字+icon
- 中划线,下划线
- 跑马灯
布局中如果有一个Button,class中先声明这个按钮,再找到这个Button,再设置点击事件 如:
private Button btn1//声明按钮
btn1 = findViewById(R.id.account);//找到这个Button
btn1.setOnClickListener(this);//设置点击事件
@Override
public void onClick(View view) {
对这个点击事件的操作
可将跳转事件添加到这个点击事件中
如:
Intent intent = new Intent(Main.this,Login.class);
前面为这个界面类,后面为要跳转到的界面类
startActivity(intent);
}
1.
这是最基本的,需注意的是文字单文一般用sp
2.
文字宽度超过所能显示的宽度情况下
maxLines=“1"表示显示最大行数为1行
ellipsize=“end"以…形式呈现
3.
将一张图片放在drawable中
假如一个TextView控件右面要加入这个图片:
android:drawableRight=”@drawable/图片名”
现在这个文字与图片是一个整体。
4.
class中在声明并找到这个控件后加入这样的语句
m1.getPaint().setFlags(Paint.STRTKE_THRU_TEXT_FLAG)这个是中划线,有了中划线可为它消除锯齿,即m1.getPaint().setAntiAlias(true),下划线语句括号中应该是UNDERLINE_TEXT_FLAG
5.
android:singleLine=“true” 单行
android:ellipsize=“marquee”//跑马灯
android:marqueeRepeatLimit=“marquee_forever”//次数
android:focusable=“true” //需要焦点
android:focusableInTouchMode=“true”
Button(TextView子类)
- 文字大小颜色
- 自定义背景形状
- 自定义按压效果
- 点击事件
咩咩咩
最基本的
2.
默认直角,弄个圆角.
drawable新建一个文件
shape="rectangle"形状为矩形
……等一下emmm哈,这个先略
3.
drawable新建一个文件
//被按压时要显示什么样式
//形状
//颜色
//圆角10dp
//没被按压的时候
4. 声明 寻找id 点击事件
EditText
- 常用属性
- 制作登录界面
- 监听事件
咩咩咩
1.
android:hint=“请输入用户名”//没有内容时的提示语
如果是密码,就要有语句:
android:inputType=“textPassword”
这样输入的就变成了暗语
如果用户名只能用数字:
android:inputType=“number”
熟能生巧……
2.
登录界面,只需用到跳转页面
登录界面布局情况据自己能力而定
如若不是跳转,直接显示“登录成功”:
先声明,再获取控件,再添加语句
Toast.makeText(MainActivity.this,“登录成功”,Toast.LENGTH_LONG).show();
3.
先声明控件
然后找到控件
监听事件的变化:
m1.addTextChangedListener(new TextWatcher()
……其中onTextChanged最常用)
(暂时不用理解)
RaidoButton(单选)
- 常用属性
- 自定义样式
- 监听事件
咩咩咩
监听事件设置方法:
m1.setOnClickChangeListener(new R…n.setOListener)……)
先说明一下
下面这个语句是用来简化代码,如果要发现多个id可以用这种样式,这样就不用事件写了
public void onClick(View v)
switch (v.getId()){
case R.id.btn_b1:
createMultiDlg();
break;
case R.id.btn_b2:
createListDlg();
break;
不能忘记监听器
findViewById(R.id.btn_b1).setOnClickListener(this);
findViewById(R.id.btn_b2).setOnClickListener(this);
有多个按钮只能选一个就要联系起来
xml中 RadioButton通常放于RadioGroup容器中进行使用
这样再组里面的单选按钮只能单选
Checked=“true”
text=“男”
那默认的第一选项便是男,但是一定要加id,否则属性会失效
只显示text的话加属性button="@null"
Toast
- Toast是一个消息提示组件
- 设置显示的位置
- 自定义显示内容(包括图片)
- 简单封装
咩咩咩
默认显示弹出
Toast.makeText(MainActivity.this,“toast”,Toast.LENGTH_LONG).show();
改变位置
Toast toastCenter=makeText(MainActivity.this,“居中toast”,Toast.LENGTH_LONG);
toastCenter.setGravity(Gravity.CENTER,0,0);
toastCenter.show();
自定义(带图片)
弹出的图片需要事先为其做一个xml
scalType为缩放形式
Toast toastCustom=new Toast(getApplicationContext());
LayoutInflater inflater=LayoutInflater.from(ToastActivty.this)
View.view=inflater.inflater(R.Layout.Layout_toast,null)
…………寻找控件
toastCustom.setView();
封装略emmmmm
状态栏提示Notification
事件中的语句
Builder builder=new NotificationCompat.Builder(MainActivity.this);
builder.setSmallIcON(R.图片所在位置id);//指定属性
builder.setContentTitle(“咩咩咩!有新消息!”)//主要标题
builder.setContentText(“你已经可以创建新NotificationCompat了”)//新标题主体
Notification notification=builder.build()
NotificationManager manager=getSystemService(Cintext.…)
manager notify(id,notification);