android 课表布局,Android开发高仿课程表的布局实例详解

先说下这个demo,这是一个模仿课程表的布局文件,虽然我是个菜鸟,但我还是想留给学习的人一些例子,先看下效果

54abdb2a287e96273288c5645706d459.gif

然后再来看一下我们学校的app

1134cfdfc93ae880a9b0fb66409ec870.png

布局分析

先上一张划分好了的布局图

首先整个页面放在一个LinearLayout布局下面,分为上面和下面两个部分,下面一个是显示课程表的详细信息

1:这个没什么好讲的,就是直接一个LinearLayout布局,然后将控件一个TextView用来显示年份,一个View用来当作竖线,一个Spinner用来显示选择周数

2:这个是显示星期几的部件,是我自定义的View,自己重写onDraw方法,然后画出七个字,代码如下:

public void onDraw(Canvas canvas)

{

//获得当前View的宽度

int width = getWidth();

int offset = width / 8;

int currentPosition = offset;

//设置要绘制的字体

mPaint.setTypeface(Typeface.create(Typeface.DEFAULT_BOLD, Typeface.BOLD));

mPaint.setTextSize(30);

mPaint.setColor(Color.rgb(0, 134, 139));

for(int i = 0; i < 7 ; i++)

{

//圈出当前的日期

if( day == i)

{

System.out.println("画出当前的日期!");

}

canvas.drawText(days[i], currentPosition, 30, mPaint);

currentPosition += offset;

}

//调用父类的绘图方法

super.onDraw(canvas);

}

3:这个也是一个LinearLayout,直接手写布局,将写出来的,将LinearLayout的orientation 属性设置为vertical 。

4:这是一个GridView ,然后自己继承BaseAdapter 填充内容,下面放上布局的xml文件

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:background="@android:color/white">

android:id="@+id/year"

android:layout_width="wrap_content

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一个简单的学生课程表布局代码: ```xml <TableLayout android:layout_width="match_parent" android:layout_height="wrap_content"> <!-- 表头 --> <TableRow> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="时间" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期一" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期二" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期三" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期四" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期五" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期六" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="星期日" android:textAlignment="center"/> </TableRow> <!-- 第一节课 --> <TableRow> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="8:00-10:00" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="语文" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="数学" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="英语" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> </TableRow> <!-- 第二节课 --> <TableRow> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="10:00-12:00" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="数学" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="语文" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="英语" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> <TextView android:layout_width="0dp" android:layout_weight="1" android:text="" android:textAlignment="center"/> </TableRow> <!-- 其他课程... --> </TableLayout> ``` 这个布局使用了一个 `TableLayout` 和多个 `TableRow` 来实现课程表布局。每个 `TableRow` 包含了一行课程信息,每个课程信息使用了多个 `TextView` 来显示。你可以根据自己的需求,修改这个布局的代码。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值