Android之垂直显示TextView

1因为界面需求原因,需要TextView垂直显示,话不多说,看代码,我也是搜的例子,在此感谢写这个例子的大神,在此做个笔记和分享给大家

2.用到了自定义控件的知识,下面就来看看如何自定义的

java代码如下:

package com.android.xxx;

import android.content.Context;

import android.graphics.Canvas;
import android.util.AttributeSet;
import android.view.Gravity;
import android.widget.TextView;

public class VerticalTextView extends TextView{
final boolean topDown;

public VerticalTextView(Context context, AttributeSet attrs){
super(context, attrs);
final int gravity = getGravity();
if(Gravity.isVertical(gravity) && (gravity&Gravity.VERTICAL_GRAVITY_MASK) == Gravity.BOTTOM) {
setGravity((gravity&Gravity.HORIZONTAL_GRAVITY_MASK) | Gravity.TOP);
topDown = false;
}else
topDown = true;
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
super.onMeasure(heightMeasureSpec, widthMeasureSpec);
setMeasuredDimension(getMeasuredHeight(), getMeasuredWidth());
}

@Override
protected boolean setFrame(int l, int t, int r, int b){
return super.setFrame(l, t, l+(b-t), t+(r-l));
}

@Override
public void draw(Canvas canvas){
if(topDown){
canvas.translate(getHeight(), 0);
canvas.rotate(90);
}else {
canvas.translate(0, getWidth());
canvas.rotate(-90);
}
canvas.clipRect(0, 0, getWidth(), getHeight(), android.graphics.Region.Op.REPLACE);
super.draw(canvas);
}
}

然后看layout xml布局文件中

此控件的写法:

<com.android.xxx.VerticalTextView
android:id="@+id/xxxName"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:layout_marginRight="14dp"
android:textSize="27dp"
android:gravity="bottom|right"
android:maxLength="15"
android:visibility="visible"
android:textColor="#ffffff"
/>

 

时间: 2024-11-01 14:34:32

Android之垂直显示TextView的相关文章

Android自定义控件垂直TextView

正常情况下TextView的文本内容是水平显示的,那如何做到让内容垂直显示呢,于是做了一些尝试,自定义控件继承TextView,重写onDraw函数,代码如下: @Override protected void onDraw(Canvas canvas) { canvas.rotate(-90); canvas.translate(-getHeight(), 0); super.onDraw(canvas); } 以上实现确实做到了让内容垂直显示,但是存在宽度与高度无法适配的问题,比如在指定宽度

android 打开蓝牙设备 显示已经配对的蓝牙设备 ,并将已配对的蓝牙设备显示在textview中

(1)要想使用android 手机的Bluetooth,需要在androidmanifest文件中加入使用蓝牙的权限. <uses-permission android:name="android.permission.BLUETOOTH" /> <uses-permission android:name="android.permission.BLUETOOTH_ADMIN" /> 注意:权限应该添加在androidmanifest文件中&

android scrollview listview显示不全

原来处理方法是重写ListView import android.content.Context; import android.util.AttributeSet; import android.view.MotionEvent; import android.widget.ListView; public class MyListView extends ListView { public MyListView(Context context) { super(context); // TO

android 自定义Toast显示风格

1.创建一个自己想要显示Toast风格的XML如下代码(toast_xml.xml): [html] view plaincopyprint? <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match

Android中实现为TextView添加多个可点击的文本

这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具体如下: 很多时候我们在使用社交软件的过程中多多少少会为别人的帖子点赞,如下图所示: 可以看到用户页面显示出来的只是点了赞的用户的名称,点击这些名称可以进入到该用户的主页.下面我们就来实现类似的效果. 具体代码如下: 1 @Override 2 protected void onCreate(Bun

Android常用UI组件 - TextView

布局文件:main.xml <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" andr

android中如何显示图片的一部分

android中如何显示图片的一部分 分类: Android应用开发系列教程 Android应用开发技巧 2012-04-25 23:42 1728人阅读 评论(0) 收藏 举报 androidmatrixfloatconstructorclassnull 作者:张宗硕 在android应用程序中加载一张图片,然后把它显示出来这是一件非常容易的事情,那怎么才能显示一张图片的一小部分呢,一种做法是把图片ps一下,要显示的那部分单独存成一张图片,然后程序中加载它,并把它显示出来.但这样会增加程序的图

Android 自定义 ListView 显示网络歌曲列表

本文内容 环境 项目结构 演示自定义 ListView 显示网络歌曲列表 参考资料 本文最开始看的一个国人的文章,没有源代码,根据文中提供的源代码,自己新建的项目(最可气的是,没有图标图片资源,只能自己乱编),但程序不是很稳定,有时能显示出列表中的缩略图,有时显示不出来,还在主线程访问了网络.后看文章评论,作者给出英文原文链接,本来想这下没事了吧,结果下载源代码运行后,还是有问题~仔细看英文原文,原来他也是根据 Github 上一个项目的基础上搞的,只是添加了式样,以及显示完整的歌曲列表,包括歌

Android软件开发之TextView详解

Android软件开发之TextView详解<IGNORE_JS_OP> TextView的API 中文文档中 说明它的结构 结构java.lang.Object   android.view.View        android.widget.TextView直接子类:    Button, CheckedTextView, Chronometer, DigitalClock, EditText间接子类:     AutoCompleteTextView, CheckBox, Compou