Androidstudio安卓实践,⼀些知识点积累记录Android Studio安卓开发过程的⼀些⼩知识点
⽂章⽬录
1. Android EditText保留两位⼩数
double d = 3.1465926;
String result = String.format("%.2f", d);
System.out.println(result);
3 .Ctrl+?注释的快捷键
4. 获取EditText内容
EditText high;
将String类型转换成整型或者浮点型
Double.Text().toString())
Integer.Text().toString());
5.按钮对应的点击事件
Button button;
button.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v){
}
});
6.字符串每隔4位插⼊空格
String str1;
String Text().toString();
String regex="(.{4})";
String str2;
placeAll(regex,"$1 ");//注意$1后有空格
private String Subs(String total){
String news ="";
for(int i=0;i<=total.length()/4;i++)
//分段后最后不加中间横线-
if(i*4+4<total.length())
news=news+total.substring(i*4,Math.min(i*4+4,total.length()))+" ";
else
news=news+total.substring(i*4,Math.min(i*4+4,total.length()));
return news;
}
7.获取当前系统的⽇期和时间
获取当前系统的⽇期和时间(⽉份要加上1,这个是因为是0开始计算的,所以⽤时要加上1)
//第⼀种⽅法:⽤过,可以
Calendar calendar = Instance();
//获取系统的⽇期
//年
int year = (Calendar.YEAR);
//⽉
int month = (Calendar.MONTH)+1;//⽉份要加上1,这个是因为是0开始计算的,所以⽤时要加上1 //⽇
int day = (Calendar.DAY_OF_MONTH);
//获取系统时间
//⼩时
int hour = (Calendar.HOUR_OF_DAY);
//分钟
int minute = (Calendar.MINUTE);
//秒
int second = (Calendar.SECOND);
time2.setText("Calendar获取当前⽇期"+year+"年"+month+"⽉"+day+"⽇"+hour+":"+minute+":"+second);
//第⼆种⽅法:没有⽤过
SimpleDateFormat simpleDateFormat =new SimpleDateFormat("yyyy年MM⽉dd⽇ HH:mm:ss");// HH:mm:ss //获取当前时间
Date date =new Date(System.currentTimeMillis());
time1.setText("Date获取当前⽇期时间"+simpleDateFormat.format(date));
//第三种⽅法:没有⽤过
Time t=new Time();// or Time t=new Time("GMT+8"); 加上Time Zone资料。
t.setToNow();// 取得系统时间。
int year = t.year;
int month = t.month+1;
int day = t.monthDay;
int hour = t.hour;// 0-23
int minute = t.minute;
int second = t.second;
time3.setText("Calendar获取当前⽇期"+year+"年"+month+"⽉"+day+"⽇"+hour+":"+minute+":"+second); 8.将获取的⽇期、时间统⼀格式
⽇期格式 0000-00-00
时间格式 00:00
StringBuilder time;
time =new StringBuilder()
.append((mHour )<10?"0"
+(mHour):(mHour ))
.append(":").append((mMinute)<10?"0"+(mMinute:(mMinute));
timeinput.setText(time);
StringBuilder date=new StringBuilder()
.append(mYear)
.append("-")//⽉份要加上1,这个是因为是0开始计算的,所以⽤时要加上1
.append((mMonth +1)<10?"0"+(mMonth +1):(mMonth +1))
.append("-")
.append((mDay <10)?"0"+ mDay : mDay);
timeinput.setText(date);
9.相对布局RelativeLayout: ⽔平⽂字对齐
设置控件之间的距离⽤ :
android:paddingTop="30dp">
android:id="@+id/text_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="类别:"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp"
android:textSize="20dp"
/>
<TextView
android:id="@+id/edit_type"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/text_type"
android:layout_alignBottom="@+id/text_type"
android:layout_toEndOf="@+id/text_type"
android:textSize="20dp"
android:textColor="#FF0000"
/>
10.状态栏消息:
必须设置⼩图标,通知的标题,通知的内容三项内容,否则可能会⽆法显⽰
NotificationCompat.Builder builder=new NotificationCompat.Builder(getApplicationContext());
NotificationManager manager =(NotificationManager)getSystemService(NOTIFICATION_SERVICE);
java模拟器安卓//创建 NotificationManager对象,负责“发出”与“取消”Notification
builder.setSmallIcon(R.mipmap.ic_launcher);//⼩图标
builder.setContentTitle("注册完成");//通知的标题
builder.setContentText("⽤户名");//通知的内容
//builder.setShowWhen(true);
builder.setAutoCancel(true);//点击通知后,状态栏⾃动删除通知
//下⾯创建Notification对象
Notification notification=builder.build();
//调⽤builder.build(),可获得Notification的对象
//第1个参数是notification的ID,以后再执⾏ify(SIMPLE_NOTFICATION_ID, notification);就会更新这个ID的提醒信息}
11.添加菜单 Menu
android:orderInCategory 属性代表 actionbar ⾥每个item的优先级,值越⼤优先级越低
app:showAsAction 属性表⽰是否在 ToolBar 上显⽰按钮,属性值有如下⼏种:
always:使菜单项⼀直显⽰在ToolBar上
ifRoom:如果有⾜够的空间,这个值会使菜单项显⽰在ToolBar上
never:使菜单项永远都不出现在ToolBar上,在…的⼦项中显⽰
withText:使菜单项和它的图标,菜单⽂本⼀起显⽰
由于showAsAction属性是在⽀持包中定义的,所以需要添加命名空间:
xmlns:app="schemas.android/apk/res-auto"
12.Java 代码中添加 Menu 监听
⽅法⼀
重写onCreateOptionsMenu(Menu menu)、onOptionsItemSelected(MenuItem item)
public boolean onCreateOptionsMenu(Menu menu){
getMenuInflater().u.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
ItemId()){
case u_item_share:
Toast.makeText(MainActivity.this,"分享", Toast.LENGTH_LONG).show();
break;
case u_item_about:
Toast.makeText(MainActivity.this,"关于", Toast.LENGTH_LONG).show();
break;
case u_item_more:
Toast.makeText(MainActivity.this,"更多", Toast.LENGTH_LONG).show();
break;
}
return true;
}
⽅法⼆
重写onCreateOptionsMenu(Menu menu),通过toolbar.setOnMenuItemClickListener()监听
mTbMain.setOnMenuItemClickListener(new Toolbar.OnMenuItemClickListener(){
@Override
public boolean onMenuItemClick(MenuItem item){
ItemId()){
case u_item_share:
Toast.makeText(MainActivity.this,"分享", Toast.LENGTH_LONG).show();
break;
case u_item_about:
Toast.makeText(MainActivity.this,"关于", Toast.LENGTH_LONG).show();
break;
case u_item_more:
Toast.makeText(MainActivity.this,"更多", Toast.LENGTH_LONG).show();
break;
}
return true;
}
});
跟 NavigationIcon 监听事件⼀样,都是要设置在 setSupportActionBar 之后才会⽣效。
13.Java代码动态改变颜⾊的字体的⽅法
利⽤ Android原⽣API提供的颜⾊资源
textView.setTextColor(Color.RED);
解析需求的⾊号
(1)textView.setTextColor(Color.parseColor("#FFFFFF"));
(2)textView.b(255,255,255));
通过html标签来改变颜⾊
textView.setText("我是<font color=blue>裕博</font>");
14.fragment实现侧滑菜单
v4的根元素⽆法使⽤,会造成程序⽆法启动,使⽤如下的根元素以及导⼊对应的包
<androidx.drawerlayout.widget.DrawerLayout
</androidx.drawerlayout.widget.DrawerLayout>
ListView属性使⽤总结
- ListView属性使⽤总结
listview的上边和下边有⿊⾊的阴影(去除ListView滑到顶部和底部时边缘的⿊⾊阴影) 解决: android:fadingEdge=“none”
修改listview的Item默认选择时的黄⾊背景(去除选中时的黄⾊底⾊:)
解决:在java⽂件中使⽤listview.setSelector()⽅法,或使⽤如下代码
android:listSelector="#00000000"//这样写是透明的,也可加⼊Drawable图⽚
android:listSelector="@null"。 ⾃定义listview的时候,当你不使⽤android:cacheColorHint=“#000000AA”会出现下⾯选中⼀个空间⿊⾊底⾊的情况,破坏整体美观度:
lsitview的每⼀项之间需要设置⼀个图⽚做为间隔 解决:
android:divider=”@drawable/list_driver”
去除⾏与⾏之间的⿊线: msgList.setDivider(null);
android:divider//在列表条⽬之间显⽰的drawable或color
android:dividerHeight//⽤来指定divider的⾼度,listview item之间的⾼度
android:entries//构成ListView的数组资源的引⽤。对于某些固定的资源,这个属性提供了⽐在程序中添加资源更加简便的⽅式
android:footerDividersEnabled//当设为false时,ListView将不会在各个footer之间绘制divider.默认为true。
android:headerDividersEnabled//当设为false时,ListView将不会在各个header之间绘制divider.默认为true。
15.Android 线性布局(LinearLayout)内各控件如何设置间距
在线性布局中⽆论orientation属性设为竖直还是⽔平都可以⽤layout_margin属性来控制布局内控件的间距
android:layout_marginTop="10dp"// 当前控件上边缘与其他控件(布局)的间距
android:layout_marginBottom="10dp"//当前控件下边缘与其他控件(布局)的间距
android:layout_marginLeft="10dp"//当前控件左边缘与其他控件(布局)的间距
android:layout_marginRight="10dp"//当前控件右边缘与其他控件(布局)的间距
16.Android studio添加raw,menu⽬录
 右键单击res⽂件夹选择new–>Android resource directory选项 ,在弹出的窗⼝的在Resource type 点击出现下拉框 选择raw即可17.使⽤本地播放器播放⾳视频
 1)在A nd r oid Manif e s t.x m l⽂件下添加权限读权限,<uses-permission
android:name="android.permission.READ_EXTERNAL_STORAGE" />
 2)java代码部分

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。