Android线性布局示例

时间:2020-02-23 14:29:01  来源:igfitidea点击:

在之前的教程中,我们已经了解了Android的意图、服务和活动。在即将到来的Android教程中,很少有人会解释不同的布局。

布局是以特定的方式安排事物的方式。Android还提供了不同的布局,以不同的方式排列不同的组件。其中包括线性布局、相对布局、web视图布局等,布局对于UI应用程序的开发非常重要。本教程的主要重点是线性布局。

线性布局

Android中的线性布局允许我们在单个列中水平排列组件,或者在单个行中垂直排列组件。垂直或者水平方向取决于属性 android:orientation线性布局简单易用,如果窗口的长度超过屏幕的长度,它会创建一个滚动条。垂直线性布局每行只有一项。线性布局有许多不同的属性,可以根据需要自定义线性布局。下图显示了水平和垂直线性布局。

线性布局属性

以下是Android线性布局的一些属性。

Id:布局的唯一标识符。

方向:设置线性布局方向为垂直或者水平的属性。

在“布局”中赋予每个组件“重要性”。

重力:此属性显示对象在x-y平面上的位置,如中心、右、上、下、左。

权重总和:该属性定义了加权和的最大值。

分隔线:可作为按钮之间的垂直分隔线绘制。

除了这些属性,线性布局还有许多不同的构造函数。

线形布置施工人员

下面是线性布局的构造器

  • LinearLayout(Context context)
  • LinearLayout(Context context, AttributeSet attrs)
  • LinearLayout(Context context, AttributeSet attrs, int styleAttribute)
  • LinearLayout(Context context, AttributeSet attrs, int styleAttribute, int styleRes)

Android线性布局示例

如果两个线性布局(例如垂直线性布局或者水平线性布局)的属性值设置不同,则线性布局看起来不同。

以下示例显示垂直线性布局。这是活动的线性图_垂直.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout android:layout_width="368dp"
  android:layout_height="495dp"
  xmlns:tools="http://schemas.android.com/tools"
  android:orientation="vertical"
  tools:layout_editor_absoluteX="8dp"
  tools:layout_editor_absoluteY="8dp"
  xmlns:android="http://schemas.android.com/apk/res/android">

      <Button
          android:id="@+id/button5"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Button1" 

      <Button
          android:id="@+id/button6"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Button2" 

      <Button
          android:id="@+id/button7"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Button3" 

      <Button
          android:id="@+id/button8"
          android:layout_width="match_parent"
          android:layout_height="wrap_content"
          android:text="Button4" 
  </LinearLayout>

这是另一个显示水平线性布局的示例。

activity_linear_horizontal.xml

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

<LinearLayout android:layout_width="368dp"
  android:layout_height="495dp"
  xmlns:tools="http://schemas.android.com/tools"
  android:orientation="horizontal"
  tools:layout_editor_absoluteX="8dp"
  tools:layout_editor_absoluteY="8dp"
  xmlns:android="http://schemas.android.com/apk/res/android">

      <Button
          android:id="@+id/button4"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="Button4" 

      <Button
          android:id="@+id/button3"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="Button3" 

      <Button
          android:id="@+id/button2"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="Button2" 

      <Button
          android:id="@+id/button"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:layout_weight="1"
          android:text="Button1" 
  </LinearLayout>