AndroidStudio学习:uses-permission/ImageView/RadioButton/FloatingActionButton

uses-permission

Android权限操作之uses-permission

我们在安装Android软件的时候,系统会提示该软件所需要的权限,相对于其他系统,android的权限非常多。
我们在开发软件的时候,也需要声明相应的权限,比如希望软件能发短信,需要声明软件调用短信的权限,否则软件运行的时候就会报错。
Android的权限在AndroidManifest.xml文件里配置。
AndroidManifest文件中有四个标签与permission有关,它们分别是 <permission>、 <permission-group> 、<permission-tree> 和 <uses-permission>。
其中最常用的是 <uses-permission>,当我们需要获取某个权限的时候就必须在我们的manifest文件中声明<uses-permission>。
<permission>和 <uses-permission>的作用相似,两者之间的不同之处,<uses-permission>是android预定义的权限,<permission>是自己定义的权限。
<uses-permission>是我们用的最多的,官方文档定义方式如下:
			<uses-permission android:name="string" />
//例如
	<uses-permission android:name="android.permission.CALL_PHONE" /> <!--电话-->
	<uses-permission android:name="android.permission.SEND_SMS"/> <!--短信-->
    <uses-permission android:name="android.permission.INTERNET" />  <!--允许程序打开网络套接字-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />  <!-- 允许程序访问有关GSM网络信息 -->
    <uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" /> <!-- 允许程序改变网络连接状态 -->
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <!-- 写入SD卡 -->
    <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
    <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- 允许使用PowerManager的 WakeLocks保持进程在休眠时从屏幕消失 -->
    <uses-permission android:name="android.permission.VIBRATE" /> <!-- 允许访问振动设备 -->

ImageView

菜鸟教程
Android–UI之ImageView

src属性和background属性的区别:
	在API文档中我们发现ImageView有两个可以设置图片的属性,分别是:src和background;
	①background通常指的都是背景,而src指的是内容;
	②当使用src填入图片时,是按照图片大小直接填充,并不会进行拉伸;
	而使用background填入图片,则是会根据ImageView给定的宽度来进行拉伸。
	
常用属性:
	android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片的长宽比。
	android:maxHeight:设置ImageView的最大高度。
	android:maxWidth:设置ImageView的最大宽度。
	android:scaleType:设置所显示的图片如何缩放或移动以适应ImageView的大小。
	android:src:设置ImageView所显示的Drawable对象的ID。
	
	对于android:scaleType属性,因为关于图像在ImageView中的显示效果,所以有如下属性值可以选择:
		matrix:使用matrix方式进行缩放。
		fitXY:横向、纵向独立缩放,以适应该ImageView。
		fitStart:保持纵横比缩放图片,并且将图片放在ImageView的左上角。
		fitCenter:保持纵横比缩放图片,缩放完成后将图片放在ImageView的中央。
		fitEnd:保持纵横比缩放图片,缩放完成后将图片放在ImageView的右下角。
		center:把图片放在ImageView的中央,但是不进行任何缩放。
		centerCrop:保持纵横比缩放图片,以使图片能完全覆盖ImageView。
		centerInside:保持纵横比缩放图片,以使得ImageView能完全显示该图片。

RadioButton

单选按钮1
单选按钮2

单选按钮,当与其他单选按钮成对出现时,允许用户从一组选项中选择单个选项。
也就是说,当同一个容器中存在两个以上的单选按钮时,只能有一个被选中。
但不在同一个容器中的几组单选按钮彼此不关联,是可以有多个被选中的。
Checked属性最重要的属性之一,该属性是一个布尔类型的值;
如果被选中,Checked的值为true,否则为false。常用于判断选项是否被选中。

举例:
在这里插入图片描述

//xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="请选择性别" />

    <RadioGroup
        android:id="@+id/rg_sex"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="horizontal" >

        <RadioButton
            android:id="@+id/rb_Male"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="男" />

        <RadioButton
            android:id="@+id/rb_FeMale"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="女" />
    </RadioGroup>
</LinearLayout>
//java
public class MainActivity extends AppCompatActivity{
    private RadioGroup rg;
    private RadioButton rb_Male, rb_Female;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_radiobutton);
        rg = (RadioGroup) findViewById(R.id.rg_sex);
        rb_Male = (RadioButton) findViewById(R.id.rb_Male);
        rb_Female = (RadioButton) findViewById(R.id.rb_FeMale);
        //注意是给RadioGroup绑定监视器
        rg.setOnCheckedChangeListener(new MyRadioButtonListener() ); 
    }

    class MyRadioButtonListener implements OnCheckedChangeListener {

        @Override
        public void onCheckedChanged(RadioGroup group, int checkedId) {
            // 选中状态改变时被触发
            switch (checkedId) {
            case R.id.rb_FeMale:
                // 当用户选择女性时
                Log.i("sex", "当前用户选择"+rb_Female.getText().toString());
                break;
            case R.id.rb_Male:
                // 当用户选择男性时
                Log.i("sex", "当前用户选择"+rb_Male.getText().toString());
                break;
            }
        }
    }
}

FloatingActionButton

悬浮按钮

属性
	android:src:FAB中显示的图标.
	app:backgroundTint:正常的背景颜色 ,这里是ColorStateList类型
	app:rippleColor:按下时的背景颜色
	app:elevation:正常的阴影大小
	app:pressedTranslationZ:按下时的阴影大小
	app:layout_anchor:设置FAB的锚点,即以哪个控件为参照设置位置
	app:layout_anchorGravity:FAB相对于锚点的位置
	app:fabSize:FAB的大小,normal或mini(分别对应56dp和40dp)
	app:borderWidth:边框大小,最好设置成0dp否则会有边框
	android:clickable:一定要设置成true否则没有点击效果
<android.support.design.widget.FloatingActionButton
            android:id="@+id/fab"
            android:layout_gravity="bottom|end"
            android:layout_margin="@dimen/activity_horizontal_margin"
            app:srcCompat="@drawable/ic_wifi_tethering_white_24dp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" />
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值