关于valign属性

HTML <td> 标签的 valign 属性

定义和用法

valign 属性规定单元格中内容的垂直排列方式。

实例

带有不同垂直对齐单元格的表格:

<table border="1">
  <tr>
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr>
    <td valign="top">January</td>
    <td valign="top">$100</td>
  </tr>
  <tr>
    <td valign="bottom">February</td>
    <td valign="bottom">$80</td>
  </tr>
</table>

 

浏览器支持

所有浏览器都支持 valign 属性。

语法

<td valign="value">

属性值

描述
top对内容进行上对齐。
middle对内容进行居中对齐(默认值)。
bottom对内容进行下对齐。
baseline与基线对齐。
baseline 值

基线是一条虚构的线。在一行文本中,大多数字母以基线为基准。baseline 值设置行中的所有表格数据都分享相同的基线。该值的效果常常与 bottom 值相同。不过,如果文本的字号各不相同,那么 baseline 的效果会更好。请看下面的图示:

valign='bottom' valign="bottom"

valign='baseline' valign="baseline"

 

HTML <tr> 标签的 valign 属性

定义和用法

valign 属性规定表格行中内容的垂直对齐方式。

实例

带有不同垂直对齐行的表格:

<table width="100%" border="1">
  <tr valign="middle">
    <th>Month</th>
    <th>Savings</th>
  </tr>
  <tr valign="bottom">
    <td>January</td>
    <td>$100</td>
  </tr>
</table>

 

 

HTML <th> 标签的 valign 属性

定义和用法

valign 属性规定单元格中内容的垂直排列方式。

实例

带有不同垂直对齐单元格的表格:

<table border="1" style="height:200px">
  <tr>
    <th valign="middle">Company</th>
    <th valign="bottom">Address</th>
  </tr>
  <tr>
    <td>Apple, Inc.</td>
    <td>1 Infinite Loop Cupertino, CA 95014</td>
  </tr>
</table>

 

浏览器支持

所有浏览器都支持 valign 属性。

语法

<th valign="value">

属性值

描述
top对内容进行上对齐。
middle对内容进行居中对齐(默认值)。
bottom对内容进行下对齐。
baseline与基线对齐。
baseline 值

基线是一条虚构的线。在一行文本中,大多数字母以基线为基准。baseline 值设置行中的所有表格数据都分享相同的基线。该值的效果常常与 bottom 值相同。不过,如果文本的字号各不相同,那么 baseline 的效果会更好。请看下面的图示:

valign='bottom' valign="bottom"

valign='baseline' valign="baseline"

 

 

 

 

HTML <th> 标签

定义和用法

定义表格内的表头单元格。

HTML 表单中有两种类型的单元格:

  • 表头单元格 - 包含表头信息(由 th 元素创建)
  • 标准单元格 - 包含数据(由 td 元素创建)

th 元素内部的文本通常会呈现为居中的粗体文本,而 td 元素内的文本通常是左对齐的普通文本。

实例

普通的 HTML 表格,包含两行两列:

<table border="1">
  <tr>
    <th>Company</th>
    <th>Address</th>
  </tr>

  <tr>
    <td>Apple, Inc.</td>
    <td>1 Infinite Loop Cupertino, CA 95014</td>
  </tr>
</table>

亲自试一试

提示和注释

提示:如果需要将内容横跨多个行或列,请使用 colspan 和 rowspan 属性。

 

 

### 集成 VLC 库至 Android Studio 进行视频播放 #### 准备工作 为了能够在 Android Studio 中集成 VLC 库,首先需要获取适用于 Android 的 VLC SDK 并将其添加到项目中。这通常涉及到下载预编译的二进制文件或将 AAR 文件作为依赖项引入。 对于 Gradle 7.0 及以上版本,在根目录下的 `settings.gradle` 文件内指定本地仓库路径以便于后续引用 AAR 包[^4]: ```gradle pluginManagement { repositories { ... flatDir { dirs 'libs' } } } ``` 接着在模块级别的 build.gradle 文件里声明对 VLC 库的具体依赖关系: ```groovy dependencies { implementation(name:'libvlc-all', ext:'aar') } ``` 确保已将下载好的 AAR 放置到了项目的 libs 文件夹下。 #### 初始化 LibVLC 实例 创建一个新的 Java 类来封装与 VLC 相关的功能逻辑。在此类内部定义静态变量用于存储 libVLC 对象实例以及媒体播放器对象实例。 ```java import org.videolan.libvlc.LibVLC; import org.videolan.libvlc.MediaPlayer; public class VlcVideoPlayer { private final Context context; private LibVLC mLibVLC; private MediaPlayer mMediaPlayer; public VlcVideoPlayer(Context context){ this.context = context; init(); } private void init(){ List<String> options = new ArrayList<>(); // 设置用户代理字符串 (可选) String userAgent = "User-Agent=Mozilla/5.0 (Linux; U; Android "+ Build.VERSION.RELEASE+"; en-us; Nexus One Build/"+Build.VERSION.INCREMENTAL+") AppleWebKit/533.1"; options.add("--http-user-agent="+userAgent); try{ mLibVLC = new LibVLC(context, options.toArray(new String[options.size()])); mMediaPlayer = new MediaPlayer(mLibVLC); }catch(Exception e){ Log.e("VLC",e.getMessage()); } } // 更多功能实现... } ``` 上述代码片段展示了如何通过传递上下文参数初始化 LibVLC MediaPlayer 对象,并设置了 HTTP 请求头中的 User Agent 字段以模拟特定浏览器环境访问流媒体服务器时的行为特性[^3]。 #### 加载播放媒体文件 当准备就绪后可以调用相应的方法加载要播放的内容源并启动回放过程。这里假设有一个 URL 或者本地路径指向目标多媒体资源。 ```java String mediaPathOrUrl = "..."; // 替换成实际地址 Media media = new Media(mLibVLC, Uri.parse(mediaPathOrUrl)); mMediaPlayer.setMedia(media); // 开始播放前释放旧资源 if(null != mMediaPlayer.getMedia()){ mMediaPlayer.getMedia().release(); } media.release(); SurfaceView surfaceView = findViewById(R.id.surface_view); mMediaPlayer.attachViews(surfaceView,null,false,true); try{ mMediaPlayer.play(); // 启动播放 }catch(IllegalStateException ex){ Log.w("VLC","Failed to play video."); } ``` 这段程序说明了怎样利用给定的 URI 创建一个 Media 对象并与之前建立起来的 MediaPlayer 关联起来;随后连接视图组件完成渲染输出设置最后执行播放命令。 #### 清理资源 应用程序结束运行或者切换页面的时候应该记得及时清理不再使用的资源以免造成内存泄漏等问题发生。 ```java @Override protected void onDestroy(){ super.onDestroy(); if(null!=mMediaPlayer){ mMediaPlayer.stop(); mMediaPlayer.detachViews(); mMediaPlayer.release(); mMediaPlayer=null; } if(null!=mLibVLC){ mLibVLC.release(); mLibVLC=null; } } ``` 此部分强调了停止当前正在播放的任务、断开关联显示控件之间的联系并且彻底销毁所有由 VLC 所管理的对象的重要性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值