android 布局管理器_如何开始进行Android开发:布局管理器

android 布局管理器

在上一篇文章的末尾,我在描述活动之后让您垂涎三尺,而没有告诉您如何构建UI,因此我们开始吧。 在Android SDK中,布局与定义活动行为的Java代码是分开的。 使用这种关注点分离,可以更轻松地修改布局而不必担心代码。

Android布局采用XML格式,位于res\layout文件夹中。 您可以针对不同的方向,屏幕尺寸或文化使用多种版本的布局,Android SDK会根据设备选择合适的布局。 我们现在不会为此担心。 对于简单的布局,一个版本就足够了。

在本文中,我将向您展示如何使用布局管理器来使用XML和Java来定位在Android SDK中称为“ View的小部件。 下次,我将通过有关视图本身以及如何在布局中或以编程方式控制视图的更多详细信息来完成此说明。

Android Studio中还有一个设计器工具可帮助您构建布局。 由于我相信最好首先了解如何手动构建事物,然后您将了解足够的知识以能够自己进行探索,因此我将坚持使用代码。

您的第一个布局

这是一个简单的布局,在res\layout\activity_main.xml文件的LinearLayout布局管理器中,具有两个TextView视图,每个视图都显示一个文本字符串:

<?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="horizontal">

    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="My first textview"/>
    <TextView
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:text="My second textview"/>
</LinearLayout>

每个布局都有至少一个视图作为根,但是通常是布局管理器,例如LinearLayoutRelativeLayoutConstraintLayout因为这些视图是为LinearLayout其他视图而构建的。 我在本示例中使用了线性布局,因为它很容易理解:如果将android:orientation属性设置为vertical ,则所有视图将彼此对齐;如果将其设置为水平,则它们将并排排列

要将布局与活动一起使用,必须使用setContentView()方法在活动的onCreate()事件中设置布局:

public class MainActivity extends Activity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

视图和布局管理器属性

所有视图(包括布局管理器)都有专有属性,可以将其添加到XML声明中以控制其大小和填充。 例如,您可以像上面的布局一样在dp(与密度无关的像素)中指定android:layout_heightandroid:layout_width ,或使用wrap_contentmatch_parent值:

  • wrap_content:视图的大小(宽度或高度)将是显示其内容所需的大小。 例如,如果显示文字的视图很长,则将wrap_content用作高度,这样它就不会在底部被截断。
  • match_parent:视图的大小(宽度或高度)将与其父布局元素的大小相同。 在API级别7和更低级别中,该名称以前称为fill_parent ,因此您仍会不时看到该名称。
<?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">
    <TextView android:layout_width="match_parent" 
              android:layout_height="wrap_content" 
              android:text="My first textview"/>
    <TextView android:layout_width="match_parent" 
              android:layout_height="wrap_content" 
              android:text="My second textview"/>
</LinearLayout>

每个布局管理器还具有控制其包含的视图的位置的属性,例如前面所述的LinearLayoutandroid:orientation

可以嵌套布局管理器以创建复杂的布局:例如,您可以在水平线性布局或网格布局内添加垂直线性布局。 不过,为了使渲染更有效率,您应注意避免嵌套太多布局。

因此,下一次,我们将看一下如何使用需要用户交互的复杂视图,以及如何从Java代码控制这些视图。

翻译自: https://www.javacodegeeks.com/2017/01/get-started-android-development-layout-managers.html

android 布局管理器

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值