android开发基本语法

                    Android开发
                    
    2.1布局管理器
        线性布局(LinearLayout)
        
        2.1.1常用属性:
            android:id             
                :@+id/    --唯一id                                
            android:layout_width
                :match_parent -- 填充其余
                :wrap_content -- 按字体自动设置                    
            android:layout_hright                            
            android:backround --颜色
            android:layout_margin --外边距
            android:layout_padding --内边距
            android:orientation
                :horizontal --行
                :vertical --块
            android:gravity --设置控件中内容的对齐方向
                :center    --居中
                :center_horizontal --水平居中
                :center_vertical --垂直居中
            android:layout_weight
                :1 --两个同时设置1将平分空间
        
        
        相对布局(KelativeLayout)
        
        2.1.2常用属性:
            在谁的左边,android:layout_toLeftOf
            在谁的下边,android:layout_brlow
            在谁的右边,android:layout_toRightOf
            相对每个容器内部,android:layout_alignBottom
            相对页面底部,android:layout_alignParentBottom
            
    2.2 TextView(文本框)
        android:text --文本
        android:textColor --颜色
        android:textSize --文字大小
        android:textStyle --字体风格样式
            :bold    --加粗
            :italic --斜体
        android:maxLines --行数(1+)
        android:ellipsize
            end --(...代替结尾多出部分)
            start  --(...代替开头多出部分)
            middle --(...代替中间部分)
        android:marqueeRepeatLimit
            :marquee_forever --走马灯
            android:focusale
                :true
            android:focusableInTouchMode
                :true
             mess1 = findViewById(R.id.message4);
        //声明两个TextView值
        private TextView mess1 ,mess2;     
        mess1 = findViewById(R.id.message4);    //获得android页面中的id为message4的值
        mess2 = findViewById(R.id.message5);    //获得android页面中的id为message5的值
        mess1.getPaint().setFlags(Paint.STRIKE_THRU_TEXT_FLAG);//设置中划线
        mess1.getPaint().setAntiAlias(true);//去除锯齿
        mess2.getPaint().setFlags(Paint.UNDERLINE_TEXT_FLAG);//设置下划线
        //高级样式
        android:shadowColor --设置阴影颜色,需要与shadowRadius一起使用哦!
        android:shadowRadius --设置阴影的模糊程度,设为0.1就变成字体颜色了,建议使用3.0
        android:shadowDx --设置阴影在水平方向的偏移,就是水平方向阴影开始的横坐标位置
        android:shadowDy --设置阴影在竖直方向的偏移,就是竖直方向阴影开始的纵坐标位置
        (drawableXxx)设置图片的核心其实就是:drawableXxx;可以设置四个方向的图片: drawableTop(上),drawableButtom(下),drawableLeft(左),drawableRight(右) 
        android:autoLink    --属性识别链接类型
            :all    --全部 --根据了解头分析
            :email    --邮箱
            :web    --网站
            :phone    --自动拨打此手机号
            :map    --不知道
        setAutoLinkMask(Linkify.ALL);  --java代码实现
        setMovementMethod(LinkMovementMethod.getInstance()); --不然点击了是没效果的!
        ----------------------------------------------------------------------------------
        SpannableString&SpannableStringBuilder定制文本
        SpannableString --可供我们使用的API有下面这些:
        BackgroundColorSpan --背景色
        ClickableSpan  --文本可点击,有点击事件
        ForegroundColorSpan  --文本颜色(前景色)
        MaskFilterSpan  --修饰效果,如模糊(BlurMaskFilter)、浮雕(EmbossMaskFilter)
        MetricAffectingSpan  --父类,一般不用
        RasterizerSpan  --光栅效果
        StrikethroughSpan  --删除线(中划线)
        SuggestionSpan  --相当于占位符
        UnderlineSpan  --下划线
        AbsoluteSizeSpan  --绝对大小(文本字体)
        DynamicDrawableSpan  --设置图片,基于文本基线或底部对齐。
        ImageSpan  --图片
        RelativeSizeSpan  --相对大小(文本字体)
        ReplacementSpan  --父类,一般不用
        ScaleXSpan  --基于x轴缩放
        StyleSpan  --字体样式:粗体、斜体等
        SubscriptSpan  --下标(数学公式会用到)
        SuperscriptSpan  --上标(数学公式会用到)
        TextAppearanceSpan  --文本外貌(包括字体、大小、样式和颜色)
        TypefaceSpan  --文本字体
        URLSpan  --文本超链接
        
        SpannableString span = new SpannableString("红色打电话斜体删除线绿色下划线图片:.");
        //1.设置背景色,setSpan时需要指定的flag,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)
        span.setSpan(new ForegroundColorSpan(Color.RED), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //2.用超链接标记文本
        span.setSpan(new URLSpan("tel:4155551212"), 2, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //3.用样式标记文本(斜体)
        span.setSpan(new StyleSpan(Typeface.BOLD_ITALIC), 5, 7, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //4.用删除线标记文本
        span.setSpan(new StrikethroughSpan(), 7, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //5.用下划线标记文本
        span.setSpan(new UnderlineSpan(), 10, 16, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //6.用颜色标记
        span.setSpan(new ForegroundColorSpan(Color.GREEN), 10, 13,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
        //7.//获取Drawable资源
        Drawable d = getResources().getDrawable(R.drawable.pass);
        d.setBounds(0, 0, d.getIntrinsicWidth(), d.getIntrinsicHeight());
        //8.创建ImageSpan,然后用ImageSpan来替换文本
        ImageSpan imgspan = new ImageSpan(d, ImageSpan.ALIGN_BASELINE);
        span.setSpan(imgspan, 18, 19, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
        t1.setText(span);
        
            
    2.3 Button(按钮)(TextView的子类)
        //声明一个Button变量
        private Button mBtnTextView;
        @Override//在接口onCreate中编写
        mBtnTextView = (Button) findViewById(R.id.button1);    //获得android页面中的id为button1的值
        mBtnTextView.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                //跳转功能                    从MainActivity页面-->Main3Activity页面
                Intent intent = new Intent(MainActivity.this,Main3Activity.class);
                startActivity(intent);
            }
        });
        ------------------------------------------
        
        Drawable resource file --创建自定义按钮
        File name --自定义按钮名字
        Root element --类型
            :shape    --自定义按钮
                android:shape
                    :rectangle --正常(选择)
                    :ring --不清楚
                    :line --一条线
                    :oval --圆,椭圆
                solid --实心 --二选一
                stroke    --空心 --二选一
                    android:width --线的宽度
                    android:color --颜色
                    android:dashWidth --变成虚线
                    android:dashGap --虚线空格宽度
                corners --圆角边框
                    android:radius 
                gradient --按钮内部样式 --属性很多
                    android:centerColor --中间靠两边渐变
                    android:endColor --从左到右渐变
                    .......
                size --大小
                    :android:height
                    :android:wifth
            :selector --按钮点击
                :item --设置按钮的事件 --很多 --它可以嵌套shape,实现按钮样式
                    :drawable:引用的Drawable位图,我们可以把他放到最前面,就表示组件的正常状态~
                    :state_focused:是否获得焦点
                    :state_window_focused:是否获得窗口焦点
                    :state_enabled:控件是否可用
                    :state_checkable:控件可否被勾选,eg:checkbox
                    :state_checked:控件是否被勾选
                    :state_selected:控件是否被选择,针对有滚轮的情况
                    :state_pressed:控件是否被按下
                    :state_active:控件是否处于活动状态,eg:slidingTab
                    :state_single:控件包含多个子控件时,确定是否只显示一个子控件
                    :state_first:控件包含多个子控件时,确定第一个子控件是否处于显示状态
                    :state_middle:控件包含多个子控件时,确定中间一个子控件是否处于显示状态
                    :state_last:控件包含多个子控件时,确定最后一个子控件是否处于显示状态
        
        android:onClick --单击事件实现之一 --一般不这样使用
            :showToast --单击事件 --内容在它文本类中
            public void showToast(View view){
            Toast.makeText(this,"我被点击4",Toast.LENGTH_SHORT).show();
            }
        //单击事件实现之二 --一般直接在@Override 接口中直接写
        private Button mBtn3;
        mBtn3 = findViewById(R.id.bu3);
        mBtn3.setOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View v) {
                Toast.makeText(ButtonActivity.this,"我被点击3",Toast.LENGTH_SHORT).show();
            }
        });
    
    2.4 EditText(输入框)
        
        android:hint --默认提示文本
        android:textColorHint --提升文本颜色
        android:selectAllOnFocus --获得焦点后选中全部内容
        android:inputType
            :text    --文本
            :textCapCharacters
            :textCapWords
            :textCapSentences
            :textAutoCorrect
            :textAutoComplete
            :textMultiLine
            :textImeMultiLine
            :textNoSuggestions
            :textUri --地址
            :textEmailAddress --邮箱
            :textEmailSubject
            :textShortMessage
            :textLongMessage
            :textPersonName
            :textPostalAddress
            :textPassword --密码
            :textVisiblePassword
            :textWebEditText
            :textFilter
            :textPhonetic
            数值类型
            :number --数字
            :numberSigned
            :numberDecimal
            :phone//拨号键盘
            :datetime
            :date//日期键盘
              :time//时间键盘
        android:singleLine --最大行bool
        android:minLines --固定行 number
        android:textScaleX --文字间隔 double
        android:capitalize --字母大小写 ,默认none 
            :sentences --仅第一个字母大写
            :words --每一个单词首字母大小,用空格区分单词
            :characters --每一个英文字母都大写
        android:drawableLeft --在输入框左边放东西(图片...)
        
    2.5 RadioGroup (单选框) 
        RadioButton --单选项 --要为每个RadioButton添加一个id,不然单选功能会生效!!!
            :checked --(bool)默认选中
            :button --@按钮
            :text --文字
        getChildCount( )获得按钮组中的单选按钮的数目;
        getChinldAt(i):根据索引值获取我们的单选按钮
        isChecked( ):判断按钮是否选中    
    
    2.6 CheckBox (多选框)
        CheckBox --多选框 --其他颜色大小都和TextView通用
            :button --按钮
    
    2.7 ToggleButton 开关按钮  Switch 开关 --一般使用较少,简单了解一下
            
            2.7.1 ToggleButton (开关按钮)
                android:disabledAlpha:设置按钮在禁用时的透明度
                android:textOff:按钮没有被选中时显示的文字
                android:textOn:按钮被选中时显示的文字 另外,除了这个我们还可以自己写个selector,然后设置下Background属性即可~
            
            2.7.2 Switch (开关)
                android:showText:设置on/off的时候是否显示文字,boolean
                android:splitTrack:是否设置一个间隙,让滑块与底部图片分隔,boolean
                android:switchMinWidth:设置开关的最小宽度
                android:switchPadding:设置滑块内文字的间隔
                android:switchTextAppearance:设置开关的文字外观,暂时没发现有什么用...
                android:textOff:按钮没有被选中时显示的文字
                android:textOn:按钮被选中时显示的文字
                android:textStyle:文字风格,粗体,斜体写划线那些
                android:track:底部的图片
                android:thumb:滑块的图片
                android:typeface:设置字体,默认支持这三种:sans, serif, monospace;
                除此以外还可以使用 其他字体文件(*.ttf),首先要将字体文件保存在assets/fonts/目录下,不过需要在Java代码中设置: 
                Typeface typeFace =Typeface.createFromAsset(getAssets(),"fonts/HandmadeTypewriter.ttf"); 
                textView.setTypeface(typeFace);
            
    2.8 ImageView (图像视图)
            :src --图片地址
            :android:adjustViewBounds="true" --调整我们的边界来保持图片的长宽比
            :android:maxHeight="200px"    --设置固定宽高px
            :android:maxWidth="200px"
            :scaleType --图片拉伸方式
                :fitXY:对图像的横向与纵向进行独立缩放,使得该图片完全适应ImageView,但是图片的横纵比可能会发生改变
                :fitStart:保持纵横比缩放图片,知道较长的边与Image的编程相等,缩放完成后将图片放在ImageView的左上角
                :fitCenter:同上,缩放后放于中间;
                :fitEnd:同上,缩放后放于右下角;
                :center:保持原图的大小,显示在ImageView的中心。当原图的size大于ImageView的size,超过部分裁剪处理。
                :centerCrop:保持横纵比缩放图片,知道完全覆盖ImageView,可能会出现图片的显示不完全
                :centerInside:保持横纵比缩放图片,直到ImageView能够完全地显示图片
                :matrix:默认值,不改变原图的大小,从ImageView的左上角开始绘制原图, 原图超过ImageView的部分作裁剪处理
            
        
        
        
        
        
        
    

猜你喜欢

转载自blog.csdn.net/qq_41426326/article/details/90022075
今日推荐