`

android之网格布局和线性布局实现注册页面

 
阅读更多

android之网格布局和线性布局实现注册页面

(注意:1、再用weight的时候,各个组件要设置宽度为0dp,高度也要设置,2、即使没有设置weight,再用linear布局时,比如view和button都要设置宽度高度。3、如果出现运行错误,可以先检查哪个组件没设置高度)

:values/strings.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>


<string name="app_name">Day_02_07</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string-array name="citys">
<item>北京</item>
<item>天津</item>
<item>上海</item>
<item>重庆</item>
</string-array>
</resources>

主页面:

layout/activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<Button
android:id="@+id/btn_linearlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用线性布局实现注册"
android:onClick="linearLayout"/>
<Button
android:id="@+id/btn_relativelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用相对布局实现注册"/>
<Button
android:id="@+id/btn_tablelayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用表格布局实现注册"/>
<Button
android:id="@+id/btn_Gridlayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="用网格布局实现注册"
android:onClick="girdLayout"/>



</LinearLayout>

网格布局:

layout/grid_layout.xml

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

<TextView
android:text="用 户 名"/>
<EditText
android:hint="2-10个字符"
android:layout_columnSpan="4"
android:layout_gravity="fill_horizontal"/>
<TextView
android:text="输入密码"/>
<EditText
android:hint="2-10个字符"
android:layout_columnSpan="4"
android:password="true"
android:layout_gravity="fill_horizontal"/>
<TextView
android:text="确认密码"/>
<EditText
android:hint="2-10个字符"
android:layout_columnSpan="4"
android:password="true"
android:layout_gravity="fill_horizontal"/>
<TextView
android:layout_marginTop="10dp"
android:text="选择性别"/>
<RadioGroup
android:layout_marginLeft="10dp"
android:layout_columnSpan="4"
android:layout_gravity="fill_horizontal"
android:orientation="horizontal">
<RadioButton
android:id="@+id/rbMale"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/rbFemale"
android:text="女"/>
</RadioGroup>
<TextView
android:text="所在地"/>
<Spinner
android:layout_columnSpan="4"
android:entries="@array/citys"/>
<TextView
android:layout_marginTop="10dp"
android:text="选择爱好"/>
<RadioGroup
android:layout_columnSpan="4"
android:orientation="horizontal">
<CheckBox
android:text="读书"
android:checked="true"/>
<CheckBox
android:text="旅游"/>
<CheckBox
android:text="电玩"/>
</RadioGroup>
<Button
android:visibility="invisible"/>
<Button
android:text="注册"
android:textColor="#fff"
android:padding="3dp"
android:drawableLeft="@drawable/login32x32"
android:background="@drawable/btn_bg"/>
<Button
android:visibility="invisible"/>
<Button
android:text="退出"
android:textColor="#fff"
android:padding="3dp"
android:drawableLeft="@drawable/exit32x32"
android:background="@drawable/btn_bg"/>
<Button
android:visibility="invisible"/>
<Button
android:text="返回"
android:layout_gravity="bottom|fill_horizontal"
android:layout_columnSpan="5"
/>
</GridLayout>

效果:


线性布局

layout/linear_layout.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">

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="请输入1-10个字符"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="请输入1-10个字符"
android:password="true"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确认密码:"/>
<EditText
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:hint="请输入1-10个字符"
android:password="true"/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="选择性别:"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/rbMale"
android:text="男"
android:checked="true"/>
<RadioButton
android:id="@+id/rbreMale"
android:text="女"/>
</RadioGroup>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="城市:"/>
<Spinner android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:entries="@array/citys"
/>
</LinearLayout>

<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="兴趣爱好:"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal"
>
<CheckBox
android:text="读书"
android:checked="true"/>
<CheckBox
android:text="旅游"
/>
<CheckBox
android:text="打电子"
/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
<Button
android:id="@+id/btRegister"
android:text="注册"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/login32x32"
android:background="@drawable/btn_bg"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
<Button
android:id="@+id/btEixt"
android:text="退出"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableLeft="@drawable/exit32x32"
android:background="@drawable/btn_bg"
/>
<Button
android:layout_width="0dp"
android:layout_height="wrap_content"
android:visibility="invisible"
android:layout_weight="1"
/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<Button
android:text="返回"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_gravity="bottom|fill_horizontal"
android:background="@drawable/btn_bg"

/>
</LinearLayout>
</LinearLayout>

效果:


java代码:

com.example.day_02_07.MainActivity

package com.example.day_02_07;


import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;


public class MainActivity extends ActionBarActivity {


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
//处理网格布局按钮的点击事件
public void girdLayout(View v){
Log.i("main",((Button)v).getText().toString());
setContentView(R.layout.grid_layout);
}
//处理线性布局按钮的点击事件
public void linearLayout(View v){
Log.i("main",((Button)v).getText().toString());
setContentView(R.layout.linear_layout);
}
}

主页效果:


 

分享到:
评论

相关推荐

    Android仿淘宝切换商品列表布局效果的示例代码

    简单的流程可以概括为:第一次进入页面,有个默认的布局(网格布局),点击按钮,由网格布局切换到竖直的线性布局,再次点击切换到网格布局。 分析: 可以看到商品展示的形式都是以列表的方式来展现,我用的是...

    Android代码-pager-layoutmanager

    具有分页功能的 Recyclerview 布局管理器,主打分页,可以替代部分场景下的网格布局,线性布局,以及一些简单的ViewPager,但也有一定的局限性,请选择性使用。 网格分页布局源码解析(上) 网格分页布局源码解析(下)...

    老罗android视频开发源码和ppt经典

    2.2 android线性布局的介绍 2.3 android框架布局的使用 2.4 相对布局的使用 2.5 表格布局的介绍 三、Android解析xml文件 3.1 android解析xml文件 3.2 android使用pull解析xml 3.3 android使用dom解析xml 四、...

    实验1--Android基础入门与Android-UI开发应用(1).doc

    Toast是用来弹出提示信息的,这 里将综合应用网格布局、线性布局、Toast实现案例——智能输入法。要求:(1) 编写相关模块的代码,只需实现下图所示功能,按钮响应功能除了"发送"按钮响 应之外,其它按钮响应暂时...

    疯狂Android讲义源码

     2.2.1 线性布局 47  2.2.2 表格布局 49  2.2.3 帧布局 52  2.2.4 相对布局 55  2.2.5 绝对布局 58  2.3 基本界面组件 60  2.3.1 文本框(TextView)与编辑框  (EditText)的功能和用法 60  2.3.2 按钮...

    Android 界面布局

    Android提供了6种基本布局类:帧布局(FrameLayout)、线性布局(LinearLayout)、绝对布局(AbsoluteLayout)、相对布局(RelativeLayout)、表格布局(TableLayout)和网格布局(GridLayout)。另外,Android还推出一种新的...

    新版Android开发教程.rar

    的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 API 接口。 特性 • 应用程序框架 支持组件的重用与替换 • Dalvik Dalvik Dalvik Dalvik 虚拟机 专为移动设备优化 • ...

    疯狂Android讲义.part2

    2.2.1 线性布局 47 2.2.2 表格布局 49 2.2.3 帧布局 52 2.2.4 相对布局 55 2.2.5 绝对布局 58 2.3 基本界面组件 60 2.3.1 文本框(TextView)与编辑框 (EditText)的功能和用法 60 2.3.2 按钮(Button)与图片按钮...

    疯狂Android讲义.part1

    2.2.1 线性布局 47 2.2.2 表格布局 49 2.2.3 帧布局 52 2.2.4 相对布局 55 2.2.5 绝对布局 58 2.3 基本界面组件 60 2.3.1 文本框(TextView)与编辑框 (EditText)的功能和用法 60 2.3.2 按钮(Button)与图片按钮...

    vlayout:项目vlayout是RecyclerView的功能强大的LayoutManager扩展,它为RecyclerView提供了一组布局。 当网格,列表和其他布局位于同一回收视图中时,使其能够处理复杂的情况

    默认布局实现为: LinearLayoutHelper:提供线性布局作为LinearLayoutManager。 GridLayoutHelper:提供网格布局作为GridLayoutManager,但具有更多功能。 FixLayoutHelper:将视图固定在屏幕的特定位置,该视图...

    Android代码-LGank

    瀑布流、线性、网格布局动态切换 动态加载流式布局 下拉刷新、上拉加载更多 显示动态GIF图、高斯模糊背景 侧滑菜单 Realm数据库使用 ViewPage嵌套滑动 提供常见的干货资源获取,支持分类查看,同时提供搜索功能,...

    Android典型技术模块开发详解

    8.1.1 线性布局 8.1.2 相对布局 8.1.3 绝对布局 8.1.4 Frame布局 8.1.5 表格布局 8.2 Tab布局 8.3 ScrollView 8.4 ListView(列表) 8.4.1 继承自ListActivity 8.4.2 ListView灵活运用 8.5 GirdView(网格) 8.6 ...

    Tangram-Android:Tangram是用于动态构建本机页面的模块化UI解决方案,包括Android的Tangram,iOS的Tangram甚至后端CMS。 该项目在Android上提供SDK

    Android版七巧板七巧板项目安卓的iOS Tangram是用于...默认卡流卡(网格状) 线性卡修复卡滚动修正卡粘卡一拖N卡页面滚动卡水流卡可拖动卡开始吧有关详细信息,请参见。七巧板文件在这里查看完整的。贡献在打开问题或

Global site tag (gtag.js) - Google Analytics