`
yangshen998
  • 浏览: 1302378 次
文章分类
社区版块
存档分类
最新评论

android--布局

 
阅读更多

布局

View类是android系统平台上用户界面的基本单元。

View类的一些子类被统称为widgets

Linearyout:线性布局(在该标签下根据其orientation属性的值来决定是按行或者按列逐个显示)

<?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" >其属性“orientation”指定子元素排列方式,其中指定为vertical是子元素垂直排列,每个子元素会占独立的一行,horizontal代表子元素水平排列,每个资源元素会占独立一列

<EditText

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:text="@string/text"

android:id="@+id/text"/>

<RelativeLayout

android:layout_width="fill_parent"

android:layout_height="wrap_content">

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="250dp"

android:text="@string/cancle"

android:layout_alignParentRight="true"/>

<Button

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginLeft="200dp"

android:text="@string/ok" />

</RelativeLayout>

</LinearLayout>

Tablelayout:表格布局

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

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:stretchColumns="*">

<TableRow >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/name"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sex"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/age"/>

</TableRow>

<TableRow >

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/namel"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/sexl"/>

<TextView

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:text="@string/agel"/>

</TableRow>

</TableLayout>

注:<TableRow>定义一个行

<TableView>定义一个单元的内容

Android:stretchColumns=“0,1,2”该属性指定每行都由第“0,1,2,”列占满空白空间。

Gravity指定文字对齐方式

Padding指定视图与视图内容的空隙,单位为像素。

Relativelayout:相对布局

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

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="match_parent"

android:layout_height="match_parent" >

<Button

android:layout_width="50dp"

android:layout_height="50dp"

android:layout_alignParentLeft="true"

android:id="@+id/button1"/>

<Button

android:layout_width="50dp"

android:layout_height="50dp"

android:layout_toRightOf="@id/button1"

android:layout_marginLeft="150dp"

android:id="@+id/button2"/>

<Button

android:id="@+id/button3"

android:layout_width="50dp"

android:layout_height="50dp"

android:layout_below="@id/button2"

android:layout_marginLeft="26dp"

android:layout_marginRight="26dp"

android:layout_marginTop="24dp"

android:layout_toRightOf="@+id/button1" />

<Button

android:id="@+id/button4"

android:layout_width="50dp"

android:layout_height="50dp"

android:layout_alignParentLeft="true"

android:layout_below="@id/button3"

android:layout_marginTop="22dp" />

<Button

android:id="@+id/button5"

android:layout_width="50dp"

android:layout_height="50dp"

android:layout_below="@id/button3"

android:layout_toRightOf="@id/button4"

android:layout_alignLeft="@id/button2"

android:layout_marginTop="22dp"/>

</RelativeLayout>

注:android:layout_below=”@id/*”将钙元素放到id为*的元素下

android:layout_toLeftOf=”@id/*”放到id为*的元素的左边

android:layout_Top=”@id/*”放到id为*的元素的顶部

4、FrameLayout(帧布局):默认以屏幕左上角为(0,0)坐标定义的先后顺序依次逐屏显示,后出现的会覆盖前面的画面。

package cn.lyhz;

import android.app.Activity;

import android.graphics.drawable.Drawable;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.view.View;

import android.widget.FrameLayout;

public class FrameLayoutActivity extends Activity {

FrameLayout frame = null;

boolean flag = true;//点击事件的开关

class MyHandler extends Handler{

int i = 0;

public void handleMessage(Message m){

i++;让图片依次显示

show(i % 10);//设置frame前景图片

sleep(10);

}

public void sleep(long delayMillis){

if(flag){判断是否继续执行循环

sendMessageDelayed(obtainMessage(0), delayMillis);

}

}

void show(int j){被调用以更新帧布局的前景图片

获取图片

Drawable a = getResources().getDrawable(R.drawable.a);

Drawable b = getResources().getDrawable(R.drawable.b);

Drawable c = getResources().getDrawable(R.drawable.c);

Drawable d = getResources().getDrawable(R.drawable.d);

Drawable e = getResources().getDrawable(R.drawable.e);

Drawable f = getResources().getDrawable(R.drawable.f);

Drawable g = getResources().getDrawable(R.drawable.g);

Drawable h = getResources().getDrawable(R.drawable.h);

Drawable i = getResources().getDrawable(R.drawable.i);

Drawable z = getResources().getDrawable(R.drawable.z);

switch(j){

case 0:frame.setForeground(a);break;

case 1:frame.setForeground(b);break;

case 2:frame.setForeground(c);break;

case 3:frame.setForeground(d);break;

case 4:frame.setForeground(e);break;

case 5:frame.setForeground(f);break;

case 6:frame.setForeground(g);break;

case 7:frame.setForeground(h);break;

case 8:frame.setForeground(i);break;

case 9:frame.setForeground(z);break;

}

}

}

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.main);

frame = (FrameLayout)this.findViewById(R.id.frame);

final MyHandler myHandler = new MyHandler();创建一个Handler子类对象

myHandler.sleep(10);

frame.setOnClickListener(new View.OnClickListener() {设置点击事件

public void onClick(View v) {

flag = !flag;//开关打开时关闭,关闭时打开

myHandler.sleep(10);

}

});

}

}

分享到:
评论

相关推荐

    Android---UI篇

    •Android---UI篇---Tab Layout(选项卡布局) • •Andorid---UI篇---TableLayout(表格布局) • •Android---UI篇---RelativeLayout(相对布局) • •Android---UI篇---GridView(网格布局) • •Android---UI篇-...

    时间选择器Android-PickerView

    "Android-PickerView"是一个专门用于实现这种功能的库,它提供了多种样式和实现方式,包括弹窗式和XML布局式。下面我们将深入探讨这个库的核心特性、如何使用以及它在实际开发中的价值。 首先,`Android-PickerView...

    android-support-v7和android-support-v7-recyclerview的classes.jar

    通过`LayoutManager`,开发者可以选择不同的布局方式,如线性布局(LinearLayoutManager)、网格布局(GridLayoutManager)或瀑布流布局(StaggeredGridLayoutManager)。 `RecyclerView`还有其他关键组件,如`...

    android-studio-ide-193.6626763-windows.exe

    此外,新的布局检查器可以实时预览和调试布局,减少了错误的可能性。 此外,Android Studio 4.0对Kotlin的支持进一步加强。Kotlin已成为Android开发的首选语言,4.0版本提供了更完善的Kotlin编码助手,包括智能提示...

    android-support-v4.jar android-support-v13.jar android-support-v7-gridlayout.jar

    这个库专门引入了GridLayout布局管理器,它是Android SDK API Level 14(Ice Cream Sandwich)引入的一个新特性,但在早期版本中无法使用。GridLayout允许开发者创建网格状的布局,其中的视图可以均匀分布或自定义...

    Android代码-Android-Ptr-Comparison

    安卓下拉刷新开源库对比 目前仅比对github上star数&gt;1500的下拉刷新开源库,在比较完成之后可能会加入其它有代表性的库. 本文的demo可以在github...|Repo|自定义顶部视图|支持的内容布局| |:--:|:--:|:--:|:---:|:--:|:

    android-studio-ide-202.7486908-linux.tar.gz

    3. **布局编辑器增强**:此版本的布局编辑器提供了更直观的设计视图,支持拖放组件,实时预览,以及对 ConstraintLayout 和其他布局的深度优化。 4. **性能提升**:通过优化内存管理和编译速度,Android Studio ...

    android-studio-2021.2.1.15-windows

    《Android Studio 2021.2.1.15 Windows版:专业级移动应用开发利器》 Android Studio是Google官方推出的集成开发环境(IDE),专为Android应用程序开发设计。这个版本,即“android-studio-2021.2.1.15-windows”,...

    android-support-v7-appcompat.jar android-support-v4.jar

    在Android开发中,`android-support-v7-appcompat.jar` 和 `android-support-...而`DrawerLayout`则是一种常见的UI布局,为用户提供了便捷的导航方式。理解并熟练运用这些组件,对于开发高质量的Android应用至关重要。

    Android Studio 插件android-butterknife-zelezny.jar

    Android Studio 是Google官方推出的Android应用开发集成环境,它提供了丰富的功能和工具,使得开发者能够高效地构建、测试和调试应用程序。在Android Studio中,插件是扩展其功能的重要方式,可以提升开发效率并简化...

    android-support-design.jar和android-support-v7-recyclerview.jar.rar

    在Android开发中,`android-support-design.jar`和`android-support-v7-recyclerview.jar`是两个非常重要的库文件,它们属于Android Support Library的一部分。这个库是由Google提供的,旨在帮助开发者为旧版本的...

    android-support-v4和android-support-v7-appcompat

    此外,ViewPager是一个可滑动查看多个页面的视图,常用于实现滑动切换的Tab布局或图片轮播,也是`android-support-v4`库中的重要组成部分。 接下来是`android-support-v7-appcompat`库,它的主要目的是为了让旧版本...

    android-collapse-calendar-view-Android.zip

    综上所述,"android-collapse-calendar-view-Android"控件展示了Android UI设计和动画实现的深度,涵盖了视图状态管理、动画效果、布局设计、性能优化等多个方面。对于任何希望提升其Android应用界面交互体验的...

    android-times-square Android日历部件

    通过阅读和研究这个项目的源码,开发者可以学习到如何处理触摸事件、实现自定义布局,以及如何进行Android应用的模块化设计。同时,这个控件也鼓励了开发者参与到开源社区中,分享和改进代码,共同推动技术的发展。

    (Eclipse)android-support-v7-recyclerview.jar

    它通过`LayoutManager`来决定视图的布局方式,如线性布局(LinearLayoutManager)、网格布局(GridLayoutManager)或瀑布流布局(StaggeredGridLayoutManager)。这使得开发者可以根据需要自由设计视图展示效果。 `...

    Android-PanesLibrary.zip

    Android-PanesLibrary是一个专为Android平台设计的库,它简化了在平板设备上创建多面板布局的过程。这个库是用Java编程语言实现的,因此标签为"JAVA"。通过使用Android-PanesLibrary,开发者可以轻松地构建出类似...

    android-studio-2020.3.1.25-windows.rar

    5. **实时分析工具**:Android Studio包含了一系列性能分析工具,如内存监视器、CPU使用率分析器、布局性能检查器等,帮助开发者定位并优化应用性能问题。 6. **测试支持**:支持单元测试、UI测试和 Espresso 测试...

    内含各个版本的android-support-design包

    Android Support Design库是Android开发中的一个重要组件,它为开发者提供了许多现代UI元素和工具,使得在Android应用中实现 Material Design风格变得更加便捷。这个压缩包包含了多个版本的`android-support-design`...

    Android Studio Linux(android-studio-ide-141.1890965-linux.zip )

    - Layout Editor允许你拖放组件,实时预览布局效果。 - Profiler提供性能监控,包括CPU、内存和网络使用情况。 - Version Control System集成,支持Git和其他VCS,便于团队协作。 - 插件市场提供大量扩展功能,...

    android-percent-support-extend源码

    这个源码库对于想要深入理解Android布局适配和优化的开发者来说,无疑是一份宝贵的学习资料。 首先,让我们来了解一下官方的Percent Support Library。它是Google为Android提供的一个库,主要包含两个组件:`...

Global site tag (gtag.js) - Google Analytics