大家都知道,在使用eclipse进行android开发的时候,我们可以通过布局文件(.xml文件)对程序的界面进行布局。同时肯定能想到,通过代码也可以实现同样的功能。只是平时会用得少,且比较麻烦,但在某些情况下还是挺有用的。下面就来说明如何通过代码进行:
我依然用到了两个.xml文件,left.xml、right.xml, 内容如下left.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/left" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TextView
android:id="@+id/view1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/blue"
android:text="@string/left_view1" />
<TextView
android:id="@+id/view2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/view1"
android:background="@drawable/yellow"
android:text="@string/left_view2" />
</RelativeLayout>
right.xml:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/right" android:layout_width="fill_parent" android:layout_height="fill_parent" >
<TextView
android:id="@+id/right_view1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/yellow"
android:gravity="center"
android:text="@string/right_view1" />
<TextView
android:id="@+id/right_view2"
android:layout_width="fill_parent"
android:layout_height="wrap_content" android:layout_below="@id/right_view1"
android:background="@drawable/blue"
android:gravity="center"
android:text="@string/right_view2" />
</RelativeLayout>
源文件代码实现如下:
import android.app.Activity;
import android.os.Bundle;
import android.view.LayoutInflater;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
public class ActivityLayout extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
// 通过代码创建一个linearlayout并将它设为activity的内容
LinearLayout layoutmain = new LinearLayout(this); layoutmain.setOrientation(LinearLayout.HORIZONTAL); setContentView(layoutmain);
// 获得具备XML解析功能的LayoutInflater
LayoutInflater inflate = (LayoutInflater) getSystemService(LAYOUT_INFLATER_SERVICE);
//解析left.xml文件构造RelativeLayout
RelativeLayout layoutLeft = (RelativeLayout) inflate.inflate( R.layout.left, null);
//解析right.xml文件构造RelativeLayout
RelativeLayout layoutRight = (RelativeLayout) inflate.inflate( R.layout.right, null);
//设置相关的控件在layoutmain中的摆放参数
RelativeLayout.LayoutParams leftParam = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.WRAP_CONTENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
RelativeLayout.LayoutParams rightParam = new RelativeLayout.LayoutParams( RelativeLayout.LayoutParams.FILL_PARENT, RelativeLayout.LayoutParams.WRAP_CONTENT);
//将空间添加到layoutmain中
layoutmain.addView(layoutLeft, leftParam);
layoutmain.addView(layoutRight, rightParam); }
}
本文出自 “lilingshui” 博客,请务必保留此出处http://qsjming.blog.51cto.com/1159640/748664
分享到:
相关推荐
本篇文章将聚焦于“代码布局”,即如何使用Java或Kotlin代码创建和管理Android应用的UI布局,而不是通常使用的XML。 首先,我们需要了解为什么会在某些情况下选择代码布局。尽管XML布局提供了清晰、可读性强的结构...
如果需要动态改变布局,可以使用Java代码或者数据绑定来修改TextView的属性值,如文本内容、颜色、大小等。 总的来说,Android的RelativeLayout允许开发者以相对方式定位视图,实现复杂多变的界面设计。通过灵活...
Android使用协调布局CoordinatorLayout的代码例子。用于演示CoordinatorLayout的基本用法,以及悬浮按钮FloatingActionButton、底部弹窗BottomSheetBehavior的使用方法。
此外,使用Android Studio 2.3.3进行开发时,可以享受到其强大的集成开发环境(IDE)功能,例如图形化布局编辑器、代码自动完成、调试工具等,这有助于快速高效地构建层布局示例项目。 总结来说,这个项目是关于...
本主题将深入探讨如何使用代码编写Android界面布局源代码,以帮助开发者更好地理解和实践这一过程。 首先,Android界面通常由XML布局文件定义,但也可以通过编程方式动态创建。这种方式适用于那些需要在运行时根据...
在Android应用开发中,代码布局是至关重要的一个环节。它涉及到UI设计、用户交互以及程序逻辑的组织。本文将深入探讨Android程序源码中的代码布局,包括XML布局文件、Java/Kotlin代码与布局的交互、以及如何优化布局...
Android Tablayout 自定义Tab布局的使用案例 Android Tablayout 是 Android 设计库中的一部分,主要用于实现标签页功能。Tablayout 中的 Tab 可以自定义布局,以满足不同的需求。本文将 introduction 了 Android ...
用Android Studio 2.3.3做的表格布局例子,主要用到、标签,还有android:shrinkColumns="0,1,2"、android:layout_column="0"等设置。
在Android开发中,布局是构建用户...此外,使用代码实现布局时要注意性能优化,避免过多的动态创建组件导致性能下降。同时,为了保证代码的可读性和可维护性,建议尽量将布局逻辑封装成单独的方法或者自定义View类。
- GridLayout:使用网格系统进行布局,适用于需要均匀分布的视图。 总结,虽然绝对布局提供了强大的定制能力,但在大多数情况下,使用响应式布局更能保证应用程序的兼容性和用户体验。因此,在实际开发中,应谨慎...
本文将深入探讨Android布局的各种类型及其使用方法,旨在帮助开发者更好地理解和掌握Android应用的UI设计。 首先,我们来了解Android中的基本布局类型: 1. **线性布局(LinearLayout)**:这是最基础的布局,它...
本篇将详细介绍一个名为"Android-AndroidStudio自动生成布局代码插件"的工具,它可以帮助开发者节省时间,避免手动编写常见的布局初始化和ViewHolder代码。 这个插件,即BorePlugin(boredream-BorePlugin-8ebbb10...
通过这种方式,您可以将大部分布局设计工作交给XML,只在必要的时候用Java代码进行动态操作。例如,您可以在Java代码中找到XML布局中的特定视图,监听其事件,或者在运行时动态地修改其属性。 总的来说,Android...
这个“android 中页面布局使用demo”应该是为了帮助开发者深入理解并实践Android中的各种布局管理器。下面我们将详细探讨Android布局及其在实际应用中的使用。 Android支持多种布局管理器,每种都有其特定的用途: ...
这个“android布局案例源代码”压缩包包含了一系列的示例,帮助开发者深入理解并掌握Android布局设计。以下是这些案例中可能涉及的一些关键知识点: 1. **树形布局(TreeView)**: 树形布局是一种层次结构的展示...
用Android Studio 2.3.3做的绝对布局例子,主要用到<AbsoluteLayout></AbsoluteLayout>标签、android:text、 android:layout_x和android:layout_y设置。
总的来说,这个示例展示了如何使用Android Studio中的`TableLayout`和`TableRow`标签来创建一个标签布局,类似于计算器的界面。通过灵活运用这些布局组件,开发者可以构建出各种复杂的用户界面,满足不同的应用程序...
本资源“Android页面布局代码”显然包含了有关如何创建和管理Android应用程序中用户界面的代码示例。这里我们将深入探讨Android布局的一些核心概念、常用布局类型以及布局代码的编写。 1. **XML布局文件**: ...
用Android Studio 2.3.3做的相对布局例子,主要用到的标签有:<RelativeLayout></RelativeLayout>;主要用到的设置有android:id、android:layout_below、android:layout_alignParentRight和android:layout_toLeftOf...
14. **第三方库**:Android开发者常常使用如Glide、Picasso进行图片加载,Retrofit进行网络请求,Butter Knife进行视图注入,GreenDao或Room进行数据库操作等第三方库,以简化开发工作并提高效率。 以上是Android...