admin 管理员组文章数量: 887006
Android直播间
主要内容
1.在活动中 添加 按钮,图片,引用资源。文件夹分类和资源引用方式
文件夹分类这里前面写过一次,但是这里还会用到,所以再贴出来一次。资源引用方式有: 【@/】类型。和【R.】类型。 【@/】类型用于 xml 结尾的代码中。【R.】类型用于Java代码中。 (图标资源比较特殊,一般有很多个同名的,系统根据屏幕的分辨率决定到底用清晰度为多少的一个)
再举个例子来看看两种引用方式:
资源的路径
每个资源都存储在项目文件夹里。我们来看看图标文件存在哪。字符串资源:
android:label=" " 是用来修改 APP 在桌面上显示 的名字。 android:icon=" " 引用的资源是桌面上显示的图标。
添加按钮和图片
到电脑硬盘的项目路径中,把相应的图片放进去。(主要像素大小,长宽的尺寸,这个自己衡量吧,要和会ps的相互配合才行) 一般图片资源要放在项目文件夹的 \app\src\main\res\drawable 路径中,如图我的项目文件夹是F:\javasave\QQ,所以图片在 F:\javasave\QQ\app\src\main\res\drawable 中。要用的资源放好之后,我们到界面中把他加上去。我们先看下图。代码的意思稍后讲解。下图引用的资源就死上图中的资源。(下图不是Design视图是text视图。直播间笔记002 中讲过。)
现在来分析一下具体的代码::( 我这里 // 后表示注释,但XML语言不支持 // 的注释。)
<?xml version="1.0" encoding="utf-8"?> //*******表示XML版本,字符串编码版本。编译器自动生成,初学不用管。
<LinearLayout xmlns:android="" //** 其中。<LinearLayout....> 表示界面布局代码的开始。相应</LinearLayout>表示结束xmlns:app="" //***这行仍包含在 <linearLayout....>起始标识中android:orientation="vertical" android:layout_width="match_parent" //****这行仍包含在 <linearLayout....>起始标识中android:layout_height="match_parent"> //*** 终于看到了 > 符号。起始表示结束。
//******************************************************* 以上,不用管,是编译器自动生成的。<Button android:id="@+id/layout1_button1" //*** <Button 是按钮的起始标识,结束表示是 /> 这是控件的开始结束方法,比布局<linearLayout> <LinearLayout/>少了一点。android:layout_width="match_parent" //****看英文的意思是。宽度=“适应父布局” 作用就是设置宽度和父布局一样。 android:layout_height="wrap_content" //**** 看英文的意思是。高度=“包含内容” 作用是 让高度包含你按钮里的文字等内容。android:text="finish( )销毁活动" //****意思是。让按钮的文字=“跳转到第二个界面”android:textSize="28sp"/> //***意思是。文字大小=“28像素”。
//**** 以上代码看似很长,其实都是英文,敲代码的时候,如设置宽度,只要打出 width ,其他部分就自动补齐了。如文字大小只要敲 Size ,编译器会补齐其他部分。
//*** 还要注意大小写要一样。<Buttonandroid:layout_width="0sp" //***设置没有宽度的按钮。android:layout_height="10sp"/> //***设置高度为 10 像素。
<ImageView //** 这是一个图片控件的开始。和按钮空间相似。android:layout_width="200sp" //** 设置宽度。200像素。android:layout_height="200sp" //** 设置高度。200像素。android:id="@+id/Image_1" //** 给图片命名,以后好找。 @+id/.... 表示给图片 一个命名(或者叫做给图片一个ID,每个控件都可以有ID)android:contentDescription="两只单身狗" //** 这里是给图片一个描述。android:scaleType="center" //看英文意思是: 伸缩类型=“居中”app:srcCompat="@drawable/huihui" /> //这是图片控件 引用 图片的文件位置。我引用的是 资源文件夹下drawable 中的一个叫做 huihui的图片。
//******* 这个图片也就是在 F:\javasave\QQ\app\src\main\res\drawable 中的 huihui.png 。<Button //*** 这里又加入一个按钮。android:layout_width="0sp"android:layout_height="10sp"/><Button android:id="@+id/layout1_button2" //**又加入一个命名为: layout1_Button2 的按钮。android:layout_width="match_parent"android:layout_height="wrap_content"android:text="退出按钮"android:textColor="@color/colorAccent" //*** 看英文是设置 文字颜色为什么的,该颜色引用了 名叫colorAccent 的颜色,看来颜色也是资源啊。android:textSize="28sp"/></LinearLayout> //****布局结束。 <LinearLayout>.....</LinearLayout> 是像QQ联系人一样垂直的线性布局。共有将近5-6种布局。以后介绍。
活动中代码的解释
想看看我们活动的名字等东西,如下图。跟着做试试。看看效果。
package com.wzy.qq; //**** 项目的包名 。编译器生成。不用管。import android.content.Intent; //import 相当于 #include<***> 不用管。
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button; //引用的各类“头文件” 相当于#include<*****> 不用管。public class FirstActivity extends AppCompatActivity //你第一个活动(界面)的代码开始。看看函数名是自己起的活动的名字。自动生成,不用管。
{@Override //** 这是Java覆盖函数的标注,一般不写也行。因为下面 onCreat( )函数是他父类 AppCompatActivity 中的函数。protected void onCreate(Bundle savedInstanceState) //** 这个函数在活动类中,相当于c++ 的构造函数。一执行代码,先执行这里的。{setTitle("第一个活动:聊天界面"); //***设置活动的标题为 “第一个活动,聊天界面”。看英文也能懂意思了吧。。super.onCreate(savedInstanceState); //编译器自动生成。不用管。意思是执行父类的“构造函数”setContentView(R.layout.first_layout); //编译器自动生成。不用管。意思是加载哪一个布局资源。这里用的是【R.】资源寻找的方法。Button button1=(Button)findViewById(R.id.layout1_button1); //参看 double b=9.9; int a=(int)b; findViewByID( )意思是 用ID 找到资源。Button button2=(Button)findViewById(R.id.layout1_button2); //这行意思是 把找到的资源 传递给 一个叫 button2 的变量。上一句差不多。button1.setOnClickListener(new View.OnClickListener() //** 给 button1 变量设置监听器。来监听按钮相应。一旦有人按下按钮就执行里面代码。{@Override //** 重写的标识。public void onClick(View v) //** 一旦按下后就执行。相当于监听函数中的,构造函数。{finish(); //销毁活动。}});button2.setOnClickListener(new View.OnClickListener() //**{@Overridepublic void onClick(View v){finish(); //销毁活动。如果就一个活动,那就退出了。}});}
}
本文标签: Android直播间
版权声明:本文标题:Android直播间 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1732354370h1534006.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论