android界面组件布局设计

<?xml version="1.0" encoding="utf-8"?>
<merge
    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_mute_user"
            android:layout_width="wrap_content"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="@string/live_mute_user"
            android:textColor="@color/live_link_mic_main_color"
            android:textSize="15dp"
            tools:textColor="#99FFFFFF" />

        <View
            android:id="@+id/view_mute_user_selected"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#4DAAF8" />

    </LinearLayout>
</merge>

上述xml代码就代表一个组件,如果有多个组件就复制多段代码,代码放在<merge < /merge>中即可。

1、组件整体框架

        android:layout_width="wrap_content" //代表组件的宽度
        android:layout_height="wrap_content" //代表组件的高度
        android:orientation="vertical"> //代表组件的排列方式

  我们一般把layout_width和layout_height两个属性设置为wrap_content或者match_parent,这两种属性分别代表什么意思呢?
(1).match_parent:就是设置的组件的布局随着父布局走。即‘父布局的宽‘=‘控件的宽’、‘父布局的高‘=‘控件的高’
(2).wrap_content:组件的布局会随着输入内容的长度和高度而改变。如果无输入,就是一个点。

  orientation代表组件的排列方式,一般设为horizontal和vertical两种形式,分别代表什么意思呢?
(1).horizontal:指定布局内控件排列方式为“水平排列”。
(2).vertical:指定布局内控件排列方式为“垂直排列”。
(3)不设定android:orientation,默认为“水平排列”。

  android:layout_marginStart=“65dp” ,有时候组件布局时还会有该参数,该参数代表当前组件和上一个组件的距离。如果不设置两个组件就会紧挨着。

2、组件文本框架

        <TextView
            android:id="@+id/tv_mute_user"
            android:layout_width="wrap_content"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="@string/live_mute_user"
            android:textColor="@color/live_link_mic_main_color"
            android:textSize="15dp"
            tools:textColor="#99FFFFFF" />

  该模块代表组件中的文字信息,包括文字id,文字的高度、文字的宽度、文字在组件中的位置、文本信息、文本颜色、文本大小

3、组件背景框架

        <View
            android:id="@+id/view_mute_user_selected"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#4DAAF8" />

  该模块代表组件中的背景信息,包括背景id,背景的高度、背景的宽度、背景颜色。
  android:visibility=“gone”,有时候还会存在该属性行,其代表定义的控件是否对用户可见,有visible、invisible、gone三种形式。
android:visibility=”visible”  //可见
android:visibility=”invisible”  //不可见,但是在布局中占用的位置还在
android:visibility=”gone”  //不可见,完全从布局中消失

4、代码和效果

<?xml version="1.0" encoding="utf-8"?>
<merge
    xmlns:android="http:xxxxxxx"
    xmlns:tools="http:xxxxxxx"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:background="#@color/xxxxxxx"
    tools:parentTag="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx">

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_mute_user"
            android:layout_width="wrap_content"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="@string/live_mute_user"
            android:textColor="@color/live_link_mic_main_color"
            android:textSize="15dp"
            tools:textColor="#99FFFFFF" />

        <View
            android:id="@+id/view_mute_user_selected"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#4DAAF8" />

    </LinearLayout>

    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="65dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_kick_user"
            android:layout_width="wrap_content"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="@string/live_kick_user"
            android:textSize="15dp"
            android:textColor="@color/live_link_mic_gray_color"
            tools:textColor="#99FFFFFF" />

        <View
            android:visibility="gone"
            android:id="@+id/view_kick_user_selected"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#4DAAF8" />

    </LinearLayout>


    <LinearLayout
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="65dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/tv_black_user"
            android:layout_width="wrap_content"
            android:layout_height="54dp"
            android:layout_gravity="center_horizontal"
            android:gravity="center"
            android:text="@string/live_black_user"
            android:textColor="@color/live_link_mic_main_color"
            android:textSize="15dp"
            tools:textColor="#99FFFFFF" />

        <View
            android:id="@+id/view_black_user_selected"
            android:layout_width="match_parent"
            android:layout_height="1dp"
            android:background="#4DAAF8" />

    </LinearLayout>

</merge>

在这里插入图片描述

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
Android 开发 (实验五) 实验题目:Android 组件布局试验 指导老师: 班 级:计算机科学与技术系班 姓 名: 一、实验目的 1、掌握 Android 组件布局的使用方法 2、学会组件布局的重要属性与应用 3、能够根据需求,通过布局构建各类实际的页面。 二、实验内容 组 件 布 局 有 : LinearLayout 、 TableLayout 、 FrameLayout 、 RelativeLayout 三、实验步骤 1、用表格布局完成登录界面 <TableLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#FFFFCC" android:stretchColumns="0,3" > <ImageView android:layout_width="fill_parent" android:layout_height="5dp"/> <TableRow> <ImageView android:layout_width="wrap_content" android:layout_height="100dp" android:src="@drawable/img" android:gravity="center" android:layout_span="4"/> </TableRow> <TableRow > <TextView/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:text="@string/username" android:textStyle="bold" android:textColor="#000000"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:minWidth="200px" android:id="@+id/ETname"/> </TableRow> <TableRow > <TextView/> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="right" android:text="@string/password" android:textStyle="bold" android:textColor="#000000"/> <EditText android:layout_width="fill_parent" android:layout_height="wrap_content" android:gravity="left" android:minWidth="200px" android:inputType="textPassword" android:id="@+id/ETpwd"/> </TableRow> <TableRow> <TextView /> <Button android:id="@+id/Btok" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="right" android:text="@string/button" android:textStyle="bold"/> <Button android:id="@+id/Btcancel" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="left" android:text="@string/cancel" android:textStyle="bold"/> </TableRow> </TableLayout> 2、使用线性布局完成系统主界面 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/an
好的,下面是一个简单的 Android 应用程序,包含界面布局、高级组件、后台服务、广播和多媒体: 1. 界面布局: 使用相对布局和线性布局来创建一个简单的界面布局,其中包括一个文本输入框、一个按钮和一个文本视图。用户可以在文本输入框中输入文本,点击按钮后,文本视图将显示用户输入的文本。XML 代码如下: ``` <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" tools:context=".MainActivity"> <EditText android:id="@+id/editText" android:layout_width="match_parent" android:layout_height="wrap_content" android:hint="Enter text here" android:padding="16dp" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/editText" android:layout_centerHorizontal="true" android:layout_marginTop="16dp" android:text="Submit" /> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_below="@id/button" android:padding="16dp" /> </RelativeLayout> ``` 2. 高级组件: 使用 RecyclerView 组件来展示一个列表,其中包括多个文本视图和图像视图。使用 LinearLayoutManager 来实现线性布局,使用 RecyclerView.Adapter 来绑定数据。Java 代码如下: ``` RecyclerView recyclerView = findViewById(R.id.recyclerView); recyclerView.setLayoutManager(new LinearLayoutManager(this)); recyclerView.setAdapter(new MyAdapter(data)); ``` 3. 后台服务: 使用 IntentService 组件来实现后台服务,其中包括一个长时间运行的任务,例如下载文件或处理数据。Java 代码如下: ``` public class MyService extends IntentService { public MyService() { super("MyService"); } @Override protected void onHandleIntent(@Nullable Intent intent) { // Perform long-running operation here } } ``` 4. 广播: 使用 BroadcastReceiver 组件来接收系统广播,例如网络状态变化、电池状态变化等。Java 代码如下: ``` public class MyReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { // Handle broadcast event here } } ``` 5. 多媒体: 使用 MediaPlayer 组件来实现音频播放,例如播放背景音乐或语音提示。Java 代码如下: ``` MediaPlayer mediaPlayer = MediaPlayer.create(this, R.raw.sound); mediaPlayer.start(); ``` 完成上述步骤后,可以将应用程序打包成 APK 文件,然后安装到 Android 设备上进行测试和发布。当然,这只是一个简单的框架和实现流程,具体的应用程序还需要根据实际需求进行定制和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

做1个快乐的程序员

感谢支持,一起加油努力!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值