androidautolink
1. 安卓手机Autolink APK如何互联
安卓手机想要进行互联功能,需要两台设备,在同一个WIFI当中进行连接。一般选择你想连接的设备,第三方APP点击互联就可以了。
2. android textview显示富文本支持哪些标签
在TextView类中预定义了一些类似HTML的标签,通过这些标签,可以使TextView控件显示不同的颜色、大小、字体的文字。
<font>:设置颜色和字体
<big>:设置大号字
<small>:设置小号字
<i>:斜体
<b>:粗体
<tt>:等宽字体(Monospace)
<br>:换行(行与行之间没有空行)
<p>:换行(行与行之间的空行)
<a>:链接地址
<img>:插入图像
这些标签虽然和HTML的标签类似,但并不具备HTML标签的全部功能。如<font>标签只支持color和face两个属性。
在使用这些标签时不能将带这些标签的字符串直接赋值到TextView上,而需要使用Html.frmHtml方法将带标签的字符串转换成CharSequence对象,再赋值给TextView。
如果想在显示的文本中将URL、E-mail、电话等特殊内容高亮显示,并在单击时触发相应的动作(如单击电话会直接在拨号界面显示电话号码),可以设置<TextView>标签的android:autoLink属性,该属性可设置的属性值如下:
none:不匹配任何链接(默认) web:匹配Web网址 email:匹配E-mail地址
phone:匹配电话号码 map:匹配映射地址 all:匹配所有的链接
示例:
java">{
@Override
publicvoidonCreate(BundlesavedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txtFirst=(TextView)findViewById(R.id.txtFirst);
Stringhtml="<fontcolor='red'>样式一</font><br>";
html+="<fontcolor='#0000FF'><big><i>样式二</i></big><font>";
html+="<fontcolor='@"+android.R.color.white+"'><tt><b><big><u>样式三</u></big></b></tt></font><br>";
html+="<big><ahref='http://blog.csdn.net/a_mean'>我的博客:http://blog.csdn.net/a_mean</a></big>";
CharSequencecharSequence=Html.fromHtml(html);
txtFirst.setText(charSequence);
//该语句在设置后必加,不然没有任何效果
txtFirst.setMovementMethod(LinkMovementMethod.getInstance());
}
}
如图:
3. android 如何设置TextView中字体在不同状态下的颜色
TextView的字体设置方法:
1、直接通过配置文件设置
2、在Activity类中进行设置
第一种方式很简单,用于静态或初始文字颜色的设置,方法如下:
main.xml
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"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
android:textColor="@color/red"
/>
</LinearLayout>
color.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="red">#FF0000</color>
</resources>
drawable.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<drawable name="white">#FFFFFF</drawable>
<drawable name="dark">#000000</drawable>
<drawable name="red">#FF0000</drawable>
</resources>
strings.xml
Xml代码
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">地址:http://yahaitt.javaeye.com</string>
<string name="app_name">丫梨的笔记本</string>
</resources>
上面将资源部分分成了3个部分,目的是为了清晰,当然你也可以只建一个xml文件放在res目录下,而且文件名称可以随便命名。
注意两个地方:
1、main.xml的TextView标签中:
android:textColor="@color/red"
2、color.xml中:
<color name="red">#FF0000</color>
@color指获取资源文件中(所有res目录下的xml文件)的<color>标签
/red指在标签下找其name值为red的内容,此时其值为#FF0000
因此,这里我们还可以这样做:
android:textColor="@drawable/red"
@drawable指获取资源文件中<drawable>标签
/red指在标签下找其name值为red的内容
以此类推,相信你也就知道了如果是在strings.xml中该怎么做了。
下面看看第二种方式:在Activity类中进行设置
1、先将main.xml改成如下,即去掉android:textColor="@color/red":
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"
android:layout_height="fill_parent"
android:background="@drawable/white"
>
<TextView
android:id="@+id/tv01"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/hello"
android:autoLink="all"
/>
</LinearLayout>
2、修改Activity的onCreate方法,这里我的Activity是Study03_01,原始代码如下:
Java代码
package yahaitt.study03_01;
import android.app.Activity;
import android.os.Bundle;
public class Study03_01 extends Activity { @Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
}
第一步:获得文本控件TextView,取名为tv
第二步:通过TextView的setTextColor方法进行文本颜色的设置,这里可以有3种方式进行设置:
第1种:tv.setTextColor(android.graphics.Color.RED);//系统自带的颜色类
第2种:tv.setTextColor(0xffff00ff);//0xffff00ff是int类型的数据,分组一下0x|ff|ff00ff,0x是代表颜色整数的标记,ff是表示透明度,ff00ff表示颜色,注意:这里ffff00ff必须是8个的颜色表示,不接受ff00ff这种6个的颜色表示。
第3种:tv.setTextColor(this.getResources().getColor(R.color.red));//通过获得资源文件进行设置。根据不同的情况R.color.red也可以是R.string.red或者R.drawable.red,当然前提是需要在相应的配置文件里做相应的配置,如:
<color name="red">#FF0000</color>
<drawable name="red">#FF0000</drawable>
<string name="red">#FF0000</string>
详细的代码如下:
Java代码
package yahaitt.study03_01;
import android.app.Activity;
import android.content.res.Resources;
import android.graphics.Color;
import android.os.Bundle;
import android.widget.TextView;
public class Study03_01 extends Activity {
private TextView tv;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv = (TextView)this.findViewById(R.id.tv01);
// tv.setTextColor(Color.RED);
// tv.setTextColor(0xff000000);
4. Android属性汇总
TextView属性汇总
android:autoLink设置是否当文本为URL链接/email/电话号码/map时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType指定getText()方式取得的文本类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可调用append方法设置文本内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
android:cursorVisible设定光标为显示/隐藏,默认显示。
android:digits设置允许输入哪些字符。如“1234567890.+-*/% ()”
android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft在text的左边输出一个drawable,如图片。
android:drawablePadding设置text与drawable(图片)的间隔,与drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可设置为负数,单独使用没有效果。
android:drawableRight在text的右边输出一个drawable。
android:drawableTop在text的正上方输出一个drawable。
android:editable设置是否可编辑。
android:editorExtras设置文本的额外的输入数据。
android:ellipsize设置当文字过长时,该控件该如何显示。有如下值设置:”start”—-省略号显示在开头;”end” ——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:freezesText设置保存文本的内容以及光标的位置。
android:gravity设置文本位置,如设置成“center”,文本将居中显示。
android:hintText为空时显示的文字提示信息,可通过textColorHint设置提示信息的颜色。此属性在 EditView中使用,但是这里也可以用。
android:imeOptions附加功能,设置右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设置默认是一个回车符号。这个在EditView中再详细说明,此处无用。
android:imeActionId设置IME动作ID。
android:imeActionLabel设置IME动作标签。
android:includeFontPadding设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod为文本指定输入法,需要完全限定名(完整的包名)。例如:com.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType设置文本的类型,用于帮助输入法显示合适的键盘类型。在EditView中再详细说明,这里无效果。
android:linksClickable设置链接是否点击连接,即使设置了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设置重复滚动的次数,当设置为 marquee_forever时表示无限次。
android:ems设置TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度
android:maxEms设置TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设置TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength限制显示的文本长度,超出部分不显示。
android:lines设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines设置文本的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines设置文本的最小行数,与lines类似。
android:lineSpacingExtra设置行间距。
android:lineSpacingMultiplier设置行间距的倍数。如”1.2”
android:numeric如果被设置,该TextView有一个数字输入法。此处无用,设置后唯一效果是TextView有点击效果,此属性在EdtiView将详细说明。
android:password以小点”.”显示文本
android:phoneNumber设置为电话号码的输入方式。
android:privateImeOptions设置输入法选项,此处无用,在EditText将进一步讨论。
android:scrollHorizontally设置文本超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果文本是可选择的,让他获取焦点而不是将光标移动为文本的开始位置或者末尾位置。 TextView中设置后无效果。
android:shadowColor指定文本阴影的颜色,需要与shadowRadius一起使用。
android:shadowDx设置阴影横向坐标开始位置。
android:shadowDy设置阴影纵向坐标开始位置。
android:shadowRadius设置阴影的半径。设置为0.1就变成字体的颜色了,一般设置为3.0的效果比较好。
android:singleLine设置单行显示。如果和layout_width一起使用,当文本不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine "
android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设置singleLine或者设置为false,文本将自动换行
android:text设置显示文本.
android:textAppearance设置文字外。如 “?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor设置文本颜色
android:textColorHighlight被选中文字的底色,默认为蓝色
android:textColorHint设置提示信息文字的颜色,默认为灰色。与hint一起使用。
android:textColorLink文字链接的颜色.
android:textScaleX设置文字之间间隔,默认为1.0f。
android:textSize设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开
android:typeface设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight设置文本区域的最大高度
android:minHeight设置文本区域的最小高度
android:width设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米),与layout_width 的区别看这里。
android:maxWidth设置文本区域的最大宽度
android:minWidth设置文本区域的最小宽度
Android activity属性汇总
android:allowTaskReparenting
是否允许activity更换从属的任务,比如从短信息任务 切换到浏览器任务。
android:alwaysRetainTaskState
是否保留状态不变, 比如切换回home, 再从新打开, activity处于最后的状态
android:clearTaskOnLanunch
比如 P 是 activity, Q 是被P 触发的 activity, 然后返回Home, 从新启动 P, 是否显示 Q
android:configChanges
当配置list发生修改时,是否调用 onConfigurationChanged() 方法 比如 "locale|navigation|orientation".
android:enabled
activity 是否可以被实例化,
android:excludeFromRecents
是否可被显示在最近打开的activity列表里
android:exported
是否允许activity被其它程序调用
android:finishOnTaskLaunch
是否关闭已打开的activity当用户重新启动这个任务的时候
android.icon
android:label
android:launchMode
activity启动方式, "standard" "singleTop" "singleTask" "singleInstance"
其中前两个为一组, 后两个为一组
android:multiprocess
允许多进程
android:name
activity的类名, 必须指定
androidnHistory
是否需要移除这个activity当用户切换到其他屏幕时。 这个属性是 API level 3 中引入的
android:permission
android:process
一 个activity运行时所在的进程名,所有程序组件运行在应用程序默认的进程中,这个进程名跟应用程序的包名一致。中的元素process属性能够为所有组件设定一个新的默认值。但是任何组件都可以覆盖这个默认值,允许你将你的程序放在多进程中运行。 如果这个属性被分配的名字以:开头,当这个activity运行时, 一个新的专属于这个程序的进程将会被创建。 如果这个进程名以小写字母开头,这个activity将会运行在全局的进程中,被它的许可所提供。
android:screenOrientation
activity显示的模式, "unspecified" 默认值 "landscape" 风景画模式,宽度比高度大一些 "portrait" 肖像模式, 高度比宽度大。 "user" 用户的设置 "behind" "sensor" "nosensor"
android:stateNotNeeded
是否 activity被销毁和成功重启并不保存状态
android:taskAffinity
activity的亲属关系, 默认情况同一个应用程序下的activity有相同的关系
android:theme
activity的样式主题, 如果没有设置,则activity的主题样式从属于应用程序, 参见元素的theme属性
android:windowSoftInputMode
activity主窗口与软键盘的交互模式, 自从API level 3 被引入
活动的主窗口如何与包含屏幕上的软键盘窗口交互。这个属性的设置将会影响两件事情:
1> 软键盘的状态——是否它是隐藏或显示——当活动(Activity)成为用户关注的焦点。
2> 活动的主窗口调整——是否减少活动主窗口大小以便腾出空间放软键盘或是否当活动窗口的部分被软键盘覆盖时它的内容的当前焦点是可见的。
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。例如: <activity android:windowSoftInputMode="stateVisible|adjustResize" . . . >
在这设置的值(除"stateUnspecified"和"adjustUnspecified"以外)将覆盖在主题中设置的值
值 描述
"stateUnspecified" 软键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。这个是为了软件盘行为默认的设置。
"stateUnchanged" 软键盘被保持无论它上次是什么状态,是否可见或隐藏,当主窗口出现在前面时。
"stateHidden" 当用户选择该Activity时,软键盘被隐藏——也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
"stateAlwaysHidden" 软键盘总是被隐藏的,当该Activity主窗口获取焦点时。
"stateVisible" 软键盘是可见的,当那个是正常合适的时(当用户导航到Activity主窗口时)。
"stateAlwaysVisible" 当用户选择这个Activity时,软键盘是可见的——也就是,也就是,当用户确定导航到该Activity时,而不是返回到它由于离开另一个Activity。
"adjustUnspecified" 它不被指定是否该Activity主窗口调整大小以便留出软键盘的空间,或是否窗口上的内容得到屏幕上当前的焦点是可见的。系统将自动选择这些模式中一种主要依赖于是否窗口的内容有任何布局视图能够滚动他们的内容。如果有这样的一个视图,这个窗口将调整大小,这样的假设可以使滚动窗口的内容在一个较小的区域中可见的。这个是主窗口默认的行为设置。
"adjustResize" 该Activity主窗口总是被调整屏幕的大小以便留出软键盘的空间。
"adjustPan" 该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间。相反,当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分。这个通常是不期望比调整大小,因为用户可能关闭软键盘以便获得与被覆盖内容的交互操作。
Android EditText 属性汇总
android:layout_gravity="center_vertical"
设置控件显示的位置:默认top,这里居中显示,还有bottom
android:hint="请输入数字!"
设置显示在空间上的提示信息
android:numeric="integer"
设置只能输入整数,如果是小数则是:decimal
android:singleLine="true"
设置单行输入,一旦设置为true,则文字不会自动换行。
android:password="true"
设置只能输入密码
android:textColor = "#ff8c00"
字体颜色
android:textStyle="bold"
字体,bold, italic, bolditalic
android:textSize="20dip"
大小
android:capitalize = "characters"
以大写字母写
android:textAlign="center"
EditText没有这个属性,但TextView有
android:textColorHighlight="#cccccc"
被选中文字的底色,默认为蓝色
android:textColorHint="#ffff00"
设置提示信息文字的颜色,默认为灰色
android:textScaleX="1.5"
控制字与字之间的间距
android:typeface="monospace"
字型,normal, sans, serif, monospace
android:background="@null"
空间背景,这里没有,指透明
android:layout_weight="1"
权重,控制控件之间的地位,在控制控件显示的大小时蛮有用的。
android:textAppearance="?android:attr/textAppearanceLargeInverse"
文字外观,这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。不知道这样理解对不对?
通过EditText的layout xml文件中的相关属性来实现:
1. 密码框属性 android:password="true" 这条可以让EditText显示的内容自动为星号,输入时内容会在1秒内变成*字样。
2. 纯数字 android:numeric="true" 这条可以让输入法自动变为数字输入键盘,同时仅允许0-9的数字输入
3. 仅允许 android:capitalize="cwj1987" 这样仅允许接受输入cwj1987,一般用于密码验证
下面是一些扩展的风格属性
android:editable="false" 设置EditText不可编辑
android:singleLine="true" 强制输入的内容在单行
android:ellipsize="end" 自动隐藏尾部溢出数据,一般用于文字内容过长一行无法全部显示时
---------------------
5. android里面怎么给Textview设置超链接,还有字体颜色这些属性啊
要给 TextView 加上效果,方式主要有几种:
第一种,自动应用效果,使用 android:autolink 属性,如:
Java代码
android:id="@+id/text1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:autoLink="all"
android:text="@string/link_text_auto"
/>
第二种,在文本中使用 标签,如:
Java代码
text2: This is some other
text, with a link specified
via an tag. Use a \"tel:\" URL
to dial a phone number
第三种,和第二种其实是一样的,只不过将文本改在 JAVA 代码中,如:
Java代码
TextView t3 = (TextView) findViewById(R.id.text3);
t3.setText(
Html.fromHtml(
"text3: Text with a " +
"link " +
"created in the Java source code using HTML."));
t3.setMovementMethod(LinkMovementMethod.getInstance());
第四种,前面三种可以说都是自动的,而第四种就是纯“手工”的了。通过创建 SpanableString 字符串,并在之上创 建一个或多个 Span 来实现丰富的效果。例子如下:
Java代码
SpannableString ss = new SpannableString("text4: Click here to dial the phone.");
ss.setSpan(new StyleSpan(Typeface.BOLD), 0, 6,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(new URLSpan("tel:4155551212"), 13, 17,Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView t4 = (TextView) findViewById(R.id.text4);
t4.setText(ss);
t4.setMovementMethod(LinkMovementMethod.getInstance());
完整的代码见 ApiDemo 吧,下面我提几点需要注意的:
.setMovementMethod,此方法在需要响应用户事件时使用,如点击一个电话号码就跳转到拨号页面。如果不执行这个方法是不会响应事件的,即便文本看着已经是下划线蓝色字了。
.Spanned.SPAN_EXCLUSIVE_EXCLUSIVE,这是在 setSpan 时需要指定的 flag,它的意义我试了很久也没试出来,睡个觉,今天早上才突然有点想法,试之,果然。它是用来标识在 Span 范围内的文本前后输入新的字符时是否把它们也应用这个效果。分别有 Spanned.SPAN_EXCLUSIVE_EXCLUSIVE(前后都不包括)、Spanned.SPAN_INCLUSIVE_EXCLUSIVE(前面包括,后面不包括)、Spanned.SPAN_EXCLUSIVE_INCLUSIVE(前面不包括,后面包括)、Spanned.SPAN_INCLUSIVE_INCLUSIVE(前后都包括)
在Android中,TextView是我们最常用的用来显示文本的控件。
一般情况下,TextView中的文本都是一个样式。那么如何对于TextView中各个部分的文本来设置字体,大小,颜色,样式,以及超级链接等属性呢?下面我们通过SpannableString的具体实例操作来演示一下。
res-layout-main.xml:
Java代码
android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="horizontal">
android:id="@+id/myTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
res-color-color.xml
res-color-linkcolor.xml:
Java代码
android:color="#ffffff00"/>
android:color="#ff00ffff"/>
TextViewLinkActivity:
Java代码
import java.io.IOException;
import org.xmlpull.v1.XmlPullParserException;
import android.app.Activity;
import android.content.res.ColorStateList;
import android.content.res.XmlResourceParser;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.graphics.Color;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.AbsoluteSizeSpan;
import android.text.style.BackgroundColorSpan;
import android.text.style.BulletSpan;
import android.text.style.DrawableMarginSpan;
import android.text.style.ForegroundColorSpan;
import android.text.style.IconMarginSpan;
import android.text.style.ImageSpan;
import android.text.style.RelativeSizeSpan;
import android.text.style.ScaleXSpan;
import android.text.style.StrikethroughSpan;
import android.text.style.StyleSpan;
import android.text.style.SubscriptSpan;
import android.text.style.SuperscriptSpan;
import android.text.style.TextAppearanceSpan;
import android.text.style.TypefaceSpan;
import android.text.style.URLSpan;
import android.text.style.UnderlineSpan;
import android.widget.TextView;
public class TextViewLinkActivity extends Activity {
TextView mTextView = null;
SpannableString msp = null;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
mTextView = (TextView)findViewById(R.id.myTextView);
//创建一个 SpannableString对象
msp = new SpannableString("字体测试字体大小一半两倍前景色背景色正常粗体斜体粗斜体下划线删除线x1x2电话邮件网站短信彩信地图X轴综合/bot");
//设置字体(default,default-bold,monospace,serif,sans-serif)
msp.setSpan(new TypefaceSpan("monospace"), 0, 2, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
msp.setSpan(new TypefaceSpan("serif"), 2, 4, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置字体大小(绝对值,单位:像素)
msp.setSpan(new AbsoluteSizeSpan(20), 4, 6, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
msp.setSpan(new AbsoluteSizeSpan(20,true), 6, 8, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第二个参数boolean dip,如果为true,表示前面的字体大小单位为dip,否则为像素,同上。
//设置字体大小(相对值,单位:像素) 参数表示为默认字体大小的多少倍
msp.setSpan(new RelativeSizeSpan(0.5f), 8, 10, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //0.5f表示默认字体大小的一半
msp.setSpan(new RelativeSizeSpan(2.0f), 10, 12, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体大小的两倍
//设置字体前景色
msp.setSpan(new ForegroundColorSpan(Color.MAGENTA), 12, 15, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置前景色为洋红色
//设置字体背景色
msp.setSpan(new BackgroundColorSpan(Color.CYAN), 15, 18, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //设置背景色为青色
//设置字体样式正常,粗体,斜体,粗斜体
msp.setSpan(new StyleSpan(android.graphics.Typeface.NORMAL), 18, 20, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //正常
msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 20, 22, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗体
msp.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 22, 24, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //斜体
msp.setSpan(new StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 24, 27, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //粗斜体
//设置下划线
msp.setSpan(new UnderlineSpan(), 27, 30, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置删除线
msp.setSpan(new StrikethroughSpan(), 30, 33, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置上下标
msp.setSpan(new SubscriptSpan(), 34, 35, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //下标
msp.setSpan(new SuperscriptSpan(), 36, 37, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //上标
//超级链接(需要添加setMovementMethod方法附加响应)
msp.setSpan(new URLSpan("tel:4155551212"), 37, 39, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //电话
msp.setSpan(new URLSpan("mailto:[email protected]"), 39, 41, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //邮件
msp.setSpan(new URLSpan("http://www..com"), 41, 43, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //网络
msp.setSpan(new URLSpan("sms:4155551212"), 43, 45, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //短信 使用sms:或者smsto:
msp.setSpan(new URLSpan("mms:4155551212"), 45, 47, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //彩信 使用mms:或者mmsto:
msp.setSpan(new URLSpan("geo:38.899533,-77.036476"), 47, 49, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //地图
//设置字体大小(相对值,单位:像素) 参数表示为默认字体宽度的多少倍
msp.setSpan(new ScaleXSpan(2.0f), 49, 51, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //2.0f表示默认字体宽度的两倍,即X轴方向放大为默认字体的两倍,而高度不变
//设置字体(依次包括字体名称,字体大小,字体样式,字体颜色,链接颜色)
ColorStateList csllink = null;
ColorStateList csl = null;
XmlResourceParser xppcolor=getResources().getXml (R.color.color);
try {
csl= ColorStateList.createFromXml(getResources(),xppcolor);
}catch(XmlPullParserException e){
// TODO: handle exception
e.printStackTrace();
}catch(IOException e){
// TODO: handle exception
e.printStackTrace();
}
XmlResourceParser xpplinkcolor=getResources().getXml(R.color.linkcolor);
try {
csllink= ColorStateList.createFromXml(getResources(),xpplinkcolor);
}catch(XmlPullParserException e){
// TODO: handle exception
e.printStackTrace();
}catch(IOException e){
// TODO: handle exception
e.printStackTrace();
}
msp.setSpan(new TextAppearanceSpan("monospace",android.graphics.Typeface.BOLD_ITALIC, 30, csl, csllink), 51, 53, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置项目符号
msp.setSpan(new BulletSpan(android.text.style.BulletSpan.STANDARD_GAP_WIDTH,Color.GREEN), 0 ,msp.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE); //第一个参数表示项目符号占用的宽度,第二个参数为项目符号的颜色
//设置图片
Drawable drawable = getResources().getDrawable(R.drawable.icon);
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
msp.setSpan(new ImageSpan(drawable), 53, 57, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTextView.setText(msp);
mTextView.setMovementMethod(LinkMovementMethod.getInstance());
}
}
6. 2021-09-15 TextView属性大全
TextView 是用于显示字符串的组件,对于用户来说就是屏幕中一块用于显示文本的区域。
TextView 类的层次关系如下:
java.lang.Object
↳ android.view.View
↳ android.widget.TextView
直接子类:
Button,
CheckedTextView,
Chronometer,
DigitalClock,
EditText
间接子类:
AutoCompleteTextView,
CheckBox,
CompoundButton,
ExtractEditText,
MultiAutoCompleteTextView,
RadioButton,
ToggleButton
TextView 类方法
前面是方法,中间解释,后面为方法的返回值
getDefaultMovementmethod //获取默认的箭头按键移动方式 //Movementmethod
getText //获得TextView 对象的文本 //CharSquence
length //获得TextView 中的文本长度 //Int
getEditableText //取得文本的可编辑对象,通过 这个对象可对TextView 的文本进行操作,如在光标之后插入字符 //Void
getCompoundPaddingBottom //返回底部填充物 //Int
setCompoundDrawables //设置图像显示的位置,在 设置该Drawable 资源之前需要调用setBounds(Rect) //Void
//设置Drawable 图像的显示位置,但其边界不变 //Void
setPadding //根据位置设置填充物 //Void
getAutoLinkMask //返回自动连接的掩码 //Void
setTextColor //设置文本显示的颜色 //Void
setHighlightColor //设置文本选中时显示的颜色 //Void
setShadowLayer //设置文本显示的阴影颜色 //Void
setHintTextColor //设置提示文字的颜色 //Void
setLinkTextColor //设置链接文字的颜色 //Void
setGravity //设置当TextView 超出了文本本身时横向以及垂直对齐 //Void
getFreezesText //设置该视图是否包含整个文本,如果包含则返回真值,否则返回假值 //Boolean
属性
android:autoLink //设置是否当文本为URL 链接/email/电话号码/map 时,文本显示为可点击的链接。可选值(none/web/email/phone/map/all)
android:autoText //如果设置,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType //指定getText()方式取得的文本类别。选项editable 类似于StringBuilder 可追加字符,也就是说getText 后可调用append 方法设置文本内容。
android:capitalize //设置英文字母大写类型。此处无效果,需要弹出输入法才能看得到,参见EditView 此属性说明。
android:cursorVisible //设定光标为显示/隐藏,默认显示。
android:digits //设置允许输入哪些字符。如“1234567890.+-*/%\n()”
android:drawableBottom //在text 的下方输出一个drawable,如图片。如果指定一个颜色的话会把text 的背景设为该颜色,并且同时和background 使用时覆盖后者。
android:drawableLeft //在text 的左边输出一个drawable,如图片。
android:drawablePadding //设置text 与drawable(图片)的间隔,与drawableLeft、drawableRight、drawableTop、drawableBottom 一起使用,可设置为负数,单独使用没有效果。
android:drawableRight //在text 的右边输出一个drawable,如图片。
android:drawableTop //在text 的正上方输出一个drawable,如图片。
android:ellipsize //设置当文字过长时,该控件该如何显示。有如下值设置:”start”—–省略号显示在开头;”end”——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:freezesText //设置保存文本的内容以及光标的位置。
android:gravity //设置文本位置,如设置成“center”,文本将居中显示。
android:hint //Text 为空时显示的文字提示信息,可通过textColorHint 设置提示信息的颜色。比较奇怪的是TextView 本来就相当于Label,怎么会不设置Text?!
android:includeFontPadding //设置文本是否包含顶部和底部额外空白,默认为true。
android:inputMethod //为文本指定输入法,需要完全限定名(完整的包名)。
android:linksClickable //设置链接是否点击连接
android:marqueeRepeatLimit //在ellipsize 指定marquee 的情况下,设置重复滚动的次数,当设置为marquee_forever 时表示无限次。
android:ems //设置TextView 的宽度为N 个字符的宽度。
android:maxEms //设置TextView 的宽度为最长为N 个字符的宽度。
android:minEms //设置TextView 的宽度为最短为N 个字符的宽度。
android:maxLength //限制显示的文本长度,超出部分不显示。
android:lines //设置文本的行数,设置两行就显示两行,即使第二行没有数据。
android:maxLines //设置文本的最大显示行数,与width 或者layout_width 结合使用,超出部分自动换行,超出行数将不显示
android:minLines //设置文本的最小行数,与lines 类似。
android:lineSpacingExtra //设置行间距。
android:lineSpacingMultiplier //设置行间距的倍数。
android:password //以小点”.”显示文本
android:phoneNumber //设置为电话号码的输入方式。
android:scrollHorizontally //设置文本超出TextView 的宽度的情况下,是否出现横拉条。
android:shadowColor //指定文本阴影的颜色,需要与 shadowRadius 一起使用。
android:shadowRadius //设置阴影的半径。
android:shadowDx //设置阴影横向坐标开始位置。
android:shadowDy //设置阴影纵向坐标开始位置。
android:singleLine //设置单行显示。
android:text //设置显示文本.
android:textAppearance //设置文字外观。如“?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用默认的外观。可设置的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor //设置文本颜色
android:textColorHighlight //被选中文字的底色,默认为蓝色
android:textColorHint //设置提示信息文字的颜色,默认为灰色。与hint 一起使用。
android:textColorLink //文字链接的颜色.
android:textScaleX //设置文字之间间隔,默认为1.0f。
android:textSize //设置文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle //设置字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设置一个或多个,用“|”隔开android:typeface //设置文本字体,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字体) 3]
android:height //设置文本区域的高度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)
android:maxHeight //设置文本区域的最大高度
android:minHeight //设置文本区域的最小高度
android:width //设置文本区域的宽度,支持度量单位:px(像素)/dp/sp/in/mm(毫米)。
android:maxWidth //设置文本区域的最大宽度
android:minWidth //设置文本区域的最小宽度
原文链接: https://blog.csdn.net/Adomner/article/details/52263987
7. 如何设定android studio 版本
如何设定android studio 版本
TextView的属性:
Android:autoLink设定是否当文字为URL连结/email/电话号码/map时,文字显示为可点选的连结。可选值(none/web /email/phone/map/all)
android:autoText如果设定,将自动执行输入值的拼写纠正。此处无效果,在显示输入法并输入的时候起作用。
android:bufferType指定getText()方式取得的文字类别。选项editable 类似于StringBuilder可追加字符,也就是说getText后可呼叫append方法设定文字内容。spannable 则可在给定的字符区域使用样式,参见这里1、这里2。
android:capitalize设定英文字母大写型别。此处无效果,需要弹出输入法才能看得到,参见EditView此属性说明。
android:cursorVisible设定游标为显示/隐藏,预设显示。
android:digits设定允许输入哪些字符。如“1234567890.+-*/% ()”
android:drawableBottom在text的下方输出一个drawable,如图片。如果指定一个颜色的话会把text的背景设为该颜色,并且同时和background使用时覆盖后者。
android:drawableLeft在text的左边输出一个drawable,如图片。
android:drawablePadding设定text与drawable(图片)的间隔,与drawableLeft、 drawableRight、drawableTop、drawableBottom一起使用,可设定为负数,单独使用没有效果。
android:drawableRight在text的右边输出一个drawable。
android:drawableTop在text的正上方输出一个drawable。
android:editable设定是否可编辑。
android:editorExtras设定文字的额外的输入资料。
android:ellipsize设定当文字过长时,该控制元件该如何显示。有如下值设定:”start”—?省略号显示在开头;”end” ——省略号显示在结尾;”middle”—-省略号显示在中间;”marquee” ——以跑马灯的方式显示(动画横向移动)
android:freezesText设定储存文字的内容以及游标的位置。
android:gravity设定文字位置,如设定成“center”,文字将居中显示。
android:hintText为空时显示的文字提示资讯,可通过textColorHint设定提示资讯的颜色。此属性在 EditView中使用,但是这里也可以用。
android:imeOptions附加功能,设定右下角IME动作与编辑框相关的动作,如actionDone右下角将显示一个“完成”,而不设定预设是一个回车符号。这个在EditView中再详细说明,此处无用。
android:imeActionId设定IME动作ID。
android:imeActionLabel设定IME动作标签。
android:includeFontPadding设定文字是否包含顶部和底部额外空白,预设为true。
android:inputMethod为文字指定输入法,需要完全限定名(完整的包名)。例如:.google.android.inputmethod.pinyin,但是这里报错找不到。
android:inputType设定文字的型别,用于帮助输入法显示合适的键盘型别。在EditView中再详细说明,这里无效果。
android:linksClickable设定连结是否点选连线,即使设定了autoLink。
android:marqueeRepeatLimit在ellipsize指定marquee的情况下,设定重复滚动的次数,当设定为 marquee_forever时表示无限次。
android:ems设定TextView的宽度为N个字符的宽度。这里测试为一个汉字字符宽度
android:maxEms设定TextView的宽度为最长为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:minEms设定TextView的宽度为最短为N个字符的宽度。与ems同时使用时覆盖ems选项。
android:maxLength限制显示的文字长度,超出部分不显示。
android:lines设定文字的行数,设定两行就显示两行,即使第二行没有资料。
android:maxLines设定文字的最大显示行数,与width或者layout_width结合使用,超出部分自动换行,超出行数将不显示。
android:minLines设定文字的最小行数,与lines类似。
android:lineSpacingExtra设定行间距。
android:lineSpacingMultiplier设定行间距的倍数。如”1.2”
android:numeric如果被设定,该TextView有一个数字输入法。此处无用,设定后唯一效果是TextView有点选效果,此属性在EdtiView将详细说明。
android:password以小点”.”显示文字
android:phoneNumber设定为电话号码的输入方式。
android:privateImeOptions设定输入法选项,此处无用,在EditText将进一步讨论。
android:scrollHorizontally设定文字超出TextView的宽度的情况下,是否出现横拉条。
android:selectAllOnFocus如果文字是可选择的,让他获取焦点而不是将游标移动为文字的开始位置或者末尾位置。 TextView中设定后无效果。
android:shadowColor指定文字阴影的颜色,需要与shadowRadius一起使用。
android:shadowDx设定阴影横向座标开始位置。
android:shadowDy设定阴影纵向座标开始位置。
android:shadowRadius设定阴影的半径。设定为0.1就变成字型的颜色了,一般设定为3.0的效果比较好。
android:singleLine设定单行显示。如果和layout_width一起使用,当文字不能全部显示时,后面用“…”来表示。如android:text="test_ singleLine "
android:singleLine="true" android:layout_width="20dp"将只显示“t…”。如果不设定singleLine或者设定为false,文字将自动换行
android:text设定显示文字.
android:textAppearance设定文字外观。如 “?android:attr/textAppearanceLargeInverse”这里引用的是系统自带的一个外观,?表示系统是否有这种外观,否则使用预设的外观。可设定的值如下:textAppearanceButton/textAppearanceInverse/textAppearanceLarge/textAppearanceLargeInverse/textAppearanceMedium/textAppearanceMediumInverse/textAppearanceSmall/textAppearanceSmallInverse
android:textColor设定文字颜色
android:textColorHighlight被选中文字的底色,预设为蓝色
android:textColorHint设定提示资讯文字的颜色,预设为灰色。与hint一起使用。
android:textColorLink文字连结的颜色.
android:textScaleX设定文字之间间隔,预设为1.0f。
android:textSize设定文字大小,推荐度量单位”sp”,如”15sp”
android:textStyle设定字形[bold(粗体) 0, italic(斜体) 1, bolditalic(又粗又斜) 2] 可以设定一个或多个,用“|”隔开
android:typeface设定文字字型,必须是以下常量值之一:normal 0, sans 1, serif 2, monospace(等宽字型) 3]
android:height设定文字区域的高度,支援度量单位:px(画素)/dp/sp/in/mm(毫米)
android:maxHeight设定文字区域的最大高度
android:minHeight设定文字区域的最小高度
android:width设定文字区域的宽度,支援度量单位:px(画素)/dp/sp/in/mm(毫米),与layout_width 的区别看这里。
android:maxWidth设定文字区域的最大宽度
android:minWidth设定文字区域的最小宽度
android studio 编译无gradle 如何设定最小版本
安装Android Studio的准备工作 1.下载好JDK 去官网上找一个下载下来 2.安装JDK.并配置环境变数.安装过程可以一直下一步,无脑操作 3.下载Android Studio的安装包 去官网上找一个,下载下来 (jdk的环境变数一定要配置) 准备工作完成之后,就可以开始我们的安装了 1.安装Android studio也是无脑操作,一直点下一步。直到安装结束 2.安装好之后,我们要新建我们的专案。重点从这里开始 点选 New Project会出现.我们设定好名称,也可以无脑操作,一直点选next,直至结束,不过这个过程需要我们耐心的等待。(时间有点漫长)。 然后我们就会进入我们的开发接口。点选图片中红圈的图示(SDK manager)会出现下图 这个步骤是安装Android的sdk,推荐,Android1.6~Android4.4.2全部安装。(这个耗费时间挺长的,请在网速良好且大量闲暇时光下安装,安装过程中可以看部电影) 安装完之后,就开始配置我们的avd(Android Virtual Device),也就是Android的虚拟环境。点选,图片中红圈的图示 点选New(Test是我配置好的) 随便设定AVD name,建议如图设定 设定完成之后,就可以点选下图的三角号编译我们的程式了。
如何在Android Studio里设定Build Tool版本
一、修改Android Studio(以下简称AS)的记忆体配置 因为在汇入原始码时需要消耗大量记忆体,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文件中使用的是748m, 可自行修改。 二、配置AS的JDK、SDK 在IDE中新增一个没有classpath的JDK, 这样可以确保使用原始码里的库档案 并将其作为要使用的SDK的Java SDK。如下图 三、生成汇入AS所需配置... 一、修改Android Studio(以下简称AS)的记忆体配置
因为在汇入原始码时需要消耗大量记忆体,所以先修改IDEA_HOME/bin/studio.vmoptions中-Xms和-Xmx的值。文件中使用的是748m, 可自行修改。
二、配置AS的JDK、SDK
在IDE中新增一个没有classpath的JDK, 这样可以确保使用原始码里的库档案
并将其作为要使用的SDK的Java SDK。如下图
三、生成汇入AS所需配置档案(*.ipr)
①编译原始码(为了确保生成了.java档案,如R.java;如果编译过,则无需再次编译)
②检查out/host/linux-x86/framework/目录下是否有idegen.jar
如果idegen.jar不存在,执行:
mmm development/tools/idegen/
在5.0.1的原始码中会生成res.java的资料夹,导致idegen.jar执行时抛FileNotFoundException,这是idegen的程式码不够严谨造成的。
我的分享里有修改这个bug的patch,或者直接使用我分享的idegen.jar。
③执行
development/tools/idegen/idegen.sh
等待出现类似下面的结果:
Read excludes: 5ms
Traversed tree: 44078ms
这时会在原始码的根目录下生成android.ipr和android.iml两个IntelliJ IDEA(AS是基于IntelliJ IDEA社群版开发的)的配置档案
④在AS中开启原始码根目录下新生成的android.ipr 全部