今天我学习了下常见的布局上一讲已经接触了线性布局 这次我们主要来学学: 包括表格布局 相对布局 单帧布局 坐标布局 还做了一个常用控件的事件处理
1表格布局:(TableLayout)是以行列的形式来管理子控件的 在表格布局的每一行可以是一个view控件或者是一个TableRow控件 而TableRow控件中还可以添加子控件
先来看下效果图
<!--[if !supportLineBreakNewLine]-->
<!--[endif]--><?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="表头"
/>
<TableRow
android:gravity="center"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第0列"
>
</TextView>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="第1列"
>
</TextView>
</TableRow>
<TableRow
android:gravity="center"
>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮1"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="按钮2"
/>
</TableRow>
</TableLayout>
相对布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<Button
android:id="@+id/button1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="中间的按钮,很长很长很长"
android:layout_centerInParent="true"
>
</Button>
<Button
android:id="@+id/button2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上面的按钮"
android:layout_above="@id/button1"
android:layout_alignLeft="@id/button1"
>
</Button>
<Button
android:id="@+id/button3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下面的按钮"
android:layout_below="@id/button1"
android:layout_alignRight="@id/button1"
>
</Button>
</RelativeLayout>
单帧布局
<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/big"
>
</ImageView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/center"
>
</ImageView>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/small"
>
</ImageView>
</FrameLayout>
坐标布局
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="用户名:"
android:layout_x="10px"
android:layout_y="20px"
>
</TextView>
<EditText
android:layout_width="90px"
android:layout_height="wrap_content"
android:layout_x="70px"
android:layout_y="10px"
>
</EditText>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="密 码:"
android:layout_x="10px"
android:layout_y="75px"
>
</TextView>
<EditText
android:layout_width="90px"
android:layout_height="wrap_content"
android:layout_x="70px"
android:layout_y="60px"
>
</EditText>
</AbsoluteLayout>
再写一个事件监听的程序
效果图
布局文件main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView
android:id="@+id/textView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="您没有点击任何按钮"
/>
<Button
android:id="@+id/button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="普通按钮"
>
</Button>
<ImageButton
android:id="@+id/imageButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img"
>
</ImageButton>
<ToggleButton
android:id="@+id/toggleButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
>
</ToggleButton>
</LinearLayout>
事件处理的文件 MyView.java
先看效果图
package wyf.ytl;
import android.app.Activity;//引入相关的包
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.ImageButton;
import android.widget.TextView;
import android.widget.ToggleButton;
public class Sample_2_6 extends Activity implements OnClickListener{
Button button;//普通按钮
ImageButton imageButton;//图片按钮
ToggleButton toggleButton;//开关按钮
TextView textView;//文本控件
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {//回调方法
super.onCreate(savedInstanceState);
setContentView(R.layout.main);//设置显示的View
textView = (TextView) this.findViewById(R.id.textView);
button = (Button) this.findViewById(R.id.button);
button.setOnClickListener(this);//为button添加监听器
imageButton = (ImageButton) this.findViewById(R.id.imageButton);
imageButton.setOnClickListener(this);//为imageButton添加监听器
toggleButton = (ToggleButton) this.findViewById(R.id.toggleButton);
toggleButton.setOnClickListener(this);//为toggleButton添加监听器
}
public void onClick(View v) {//重写的事件处理回调方法
if(v == button){//点击的是普通按钮
textView.setText("您点击的是普通按钮");
}
else if(v == imageButton){//点击的是图片按钮
textView.setText("您点击的是图片按钮");
}
else if(v == toggleButton){//点击的是开关按钮
textView.setText("您点击的是开关按钮");
}
}
}
- 大小: 4 KB
- 大小: 7 KB
- 大小: 8.3 KB
- 大小: 5 KB
- 大小: 10 KB
分享到:
相关推荐
作者:吴秦 ...本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,...• Android 开发之旅:短信的收发及在android模拟器之间实践(二) • Android开发之旅: Intents和Intent Filters(理论部分)
Android开发之旅:环境搭建...Android 开发之旅:短信的收发及在android模拟器之间实践(二) 15 Android开发之旅 Intents和Intent Filters(理论部分) 16 Android开发之旅 Intents和Intent Filters(实例部分) 17
挺不错的开发资料,上传赚分。 • Android 开发之旅:环境搭建及HelloWorld ...• Android 开发之旅:短信的收发及在android模拟器之间实践(二) • Android开发之旅: Intents和Intent Filters(理论部分)
老罗的Android之旅.zip
老罗的android之旅文档,对学习android的小伙伴们来说是不可多得的好资料,赶紧下载吧
2.Android游戏开发之旅二 View和SurfaceView 3.Android游戏开发之旅三 View类详解 4.Android游戏开发之旅四 Canvas和Paint实例 5.Android游戏开发之旅五 Path和Typeface 6.Android游戏开发之旅六 自定义View 7....
《Android平台开发之旅(第2版)》内容涵盖了Android主流平台主要的功能特性,对平台的底层机制进行了系统而全面的剖析,对主流的技术及应用模式进行完整介绍;其间还使用通俗易懂的比喻帮助读者理解概念;通过联想...
在Android程序中界面是通过布局文件设定的,在每个应用程序创建时会默认包含一个主界面布局,该布局位于res/layout目录中。 实际开发中每个应用程序都包含多个界面,而程序默认提供的一个主界面布局无法满足需求,...
Android流式布局简单实现,通过继承ViewGroup,重写OnLayout方法,实现标签的流式布局
在Android应用程序中,有一类...这个PPT讲Android应用程序输入事件的分发和处理过程,主要涉及到输入管理InputManager、输入事件监控线程InputReader、输入事件分发线程InputDispatcher,以及应用程序主线程消息循环。
android常见的布局,线性布局,绝对布局,相对布局,小米计算器的布局
AndroidStudio自带侧滑导航详解以及头部布局事件处理 AndroidStudio自带侧滑导航详解以及头部布局事件处理 AndroidStudio自带侧滑导航详解以及头部布局事件处理 哈哈哈
Android 相对布局实例 ,RalateLayout
Android中常用的5大布局方式有以下几种:...线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过“android:orientation”属性可以设置线性布局的方向。属性值有垂直(vertical)和水平
StatusView:简单的 Android 页面多状态布局切换控件
android studio完成计算器的布局并实现其简单功能,详情看我发布的文章
这个程序写了对相对布局和绝对布局的例子,帮助大家理解两者的使用和区别。
Android程序布局入门,熟练掌握,Android布局,有利于以后Android的学习!Android23中布局,最详细,最精炼,敲打几遍代码,就可以熟练地掌握Android。
android 布局 android 布局android 布局android 布局