美文网首页
android入门学习1

android入门学习1

作者: CrazyBoomer | 来源:发表于2016-11-20 17:34 被阅读0次

    使用XML布局文件控制UI界面

    1.在安卓程序的res/layout 目录下编写XML布局文件——要求XML文件名符合Java命名规则
    2.在Activity中用setContenView(R.layout.main)显示XML文件中的布局内容,买你为XML文件名
    3.在XML中添加多个UI组件,可以通过android:id访问指定UI组建:findViewById(R.id.<android.id.id属性值>)

    android应用的所有组件都建立在View类,ViewGroup类的基础上

    ViewGroup作为子类,继承了View类,常用作容器使用。因其是抽象类,实际使用时通常用其子类做为容器,如各种布局管理器。
    ViewGroup类控制其子类的分布依赖于ViewGroup.LayoutParams和ViewGroup.MarginLayoutParams两个内部类。

    View,ViewGroup类的XML常用属性

    android:orientation属性:布局管理器组件排列方式(horizontal水平排列,vertical垂直排列)
    android:gravity属性:LinearLayout的XML属性,设置组件对齐方式,包括(top ,bottom,left,right,center_vertical,fill_vertical,center_horizontal,fill_horizental,center,fill,clip_vertical,clip_horizontal)。这些属性可以同时指定,如:android.horizontal= "top | left"
    android:padding:设置组件四面的填充区域,另有android:padding(Buttom/Left/Right/Top)来设置单一边的填充区域
    android:layout_width和android:layout_height属性:ViewGroup.LayoutParams所支持的两个XML属性,用于设计组件基本宽、高。包括(fill_parent(充满父组件),match_parent(与前者相同,android2.2后推荐使用),wrap_content(恰好包括其内容))
    android:id属性:为当前组件指定id,在Java代码中可以通过id单独引用这个组件。在组件id被指定后,在R.java中自动派生出对应属性,可在Java代码中通过findViewById()方法获取该属性。
    android:background属性:为组件设置背景,可以为图片或颜色
    android:layout_marginBottom,_marginLeft,_marginRight,~_marginTop:指定该子组件 的各个边的页边距。

    类同CSS盒子模型


    不同部分的说明:
    Margin(外边距) - 清除边框外的区域,外边距是透明的。
    Border(边框) - 围绕在内边距和内容外的边框。
    Padding(内边距) - 清除内容周围的区域,内边距是透明的。
    Content(内容) - 盒子的内容,显示文本和图像。——by菜鸟教程

    实例1:图片浏览器
    1.定义线性布局容器
    `<LinearLayout xmls:android="http://schemas.android.com/apk/res/android"
    android:id = "@id/root"
    android:orientation= "vertical"
    android.layout_width= "fill_parent"
    android.layout_height= "fill_parent"

    </LinearLayout>`

    2.在程序中获取线性布局容器
    int[] images = new int[] { R.drawable.java, R.drawable.ee, R.drawable.classic, R.drawable.ajax, R.drawable.xml,}; int currentImg = 0; @Override public void OnCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContenView(R.layout.main); LinearLayout main = (LinearLayout) findViewById(R.id.root);//获取LinearLayout布局容器 final ImageView image = new ImageView(this);//创建ImgView组件 main.addView(image); image.setImageResource(image[0]); image.setOnClickListener(new onClickListener() { @override public void onClick(View v) { image.setImageResource(images[++currentImg%images.length]); } } ); }

    一些简单的用户界面——输入
    1.文本输入框EditText
    <EditText android:id="@+id/edit_message" android:layout_width="wrap_content" android:layout_height="wrap_content" android:hint="@string/edit_message" />
    其中,@string/edit_message需要在res/values/string.xml中定义

    <resources><string name="edit_message">Enter a message</string>
    </resources>`

    2.按钮Button——发送按钮
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" />
    其中@string/button_send同上

    3.改变输入框使其充满能够使用的整个屏幕宽度
    方法:在activity_my.xml文件里,设置EditText的layout_weight属性值为1 .并设置EditText的layout_width值为0dp.
    修改后代码为
    <EditText android:id="@+id/edit_message" android:layout_width="0dp" android:layout_weight= "1" android:layout_height="wrap_content" android:hint="@string/edit_message" />

    4.点击响应——发送
    (1)为 Button 标签添加android:onclick属性
    <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/button_send" android:onClick="sendMessage" />
    其中,sendMassage为用户点击屏幕按钮时触发方法的名字

    (2)在activity.java中添加sendMassage函数
    public void sendMessage(View view) { // Do something in response to button }
    Warning:为使系统能够将该方法(你刚在MyActivity.java中添加的sendMessage方法)与在android:onClick属性中提供的方法名字匹配,它们的名字必须一致,特别需要注意的是,这个方法必须满足以下条件:
    是public函数
    无返回值
    参数唯一(为View类型,代表被点击的视图)

    相关文章

      网友评论

          本文标题:android入门学习1

          本文链接:https://www.haomeiwen.com/subject/ayfepttx.html