如何使用android 卸载 代码的textview显示20个名字,求代码...

1183人阅读
android 组件控件(13)
一、富文本显示
1、用xml实现&
appToast.setText(Html.fromHtml(&共&font color=yellow&&+ size()+ &&/font&个软件,有&font color=yellow&&+Update + &&/font&有更新&));
String parenName =entity.getParent().getMember_nickname();
parantNameRich =&&font color='#ff82ab'&& +parenName
+&&/font&& ;
holder.parentETV.setText(Html.fromHtml(parantNameRich+&: & +parenString));
注: html的解释 是全部一起来的 &parantNameRich+&&: &&+&parenString
2、用&SpannableString &实现
TextView tv= (TextView) findViewById(R.id.tv);
SpannableString sp = new SpannableString(&输入物件名称,例如 \&某某\&选择SG&);
// 设置样式一
sp.setSpan(new ForegroundColorSpan(0xff009eff), 10, 14,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
// 设置样式二
sp.setSpan(new ForegroundColorSpan(0xff009eff), 16, 18,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
tv.setText(sp);
补充:Android 的html实现TextView的字体大小 用 font size 是无效的。添加这种方法:
1、在string.xml直接实现:用&big&&/big& & &small&&/small&&
&string name=&item_update&&&Data&&![CDATA[ &font color=#ffffff &更新至第
&/font&&font color=#ff0000&&big&%1$s&/big&&/font& &font color=#ffffff & 集&/font& ]]&&/Data&&/string&
java调用:
TextView updateTv = (TextView) v.findViewById(R.id.cardview_update_info);
updateTv.setText(Html.fromHtml(mContext.getResources().getString(R.string.item_update, && + response.getCurrent())));
2、用&SpannableString 实现&
&常见的Span有:
AbsoluteSizeSpan(int size) ---- 设置字体大小,参数是绝对数值,相当于Word中的字体大小
RelativeSizeSpan(float proportion) ---- 设置字体大小,参数是相对于默认字体大小的倍数,比如默认字体大小是x, 那么设置后的字体大小就是x*proportion,这个用起来比较灵活,proportion&1就是放大(zoom in), proportion&1就是缩小(zoom out)
ScaleXSpan(float proportion) ---- 缩放字体,与上面的类似,默认为1,设置后就是原来的乘以proportion,大于1时放大(zoon in),小于时缩小(zoom out)
BackgroundColorSpan(int color) ----背景着色,参数是颜色数值,可以直接使用android.graphics.Color里面定义的常量,或是用Color.rgb(int, int, int)
ForegroundColorSpan(int color) ----前景着色,也就是字的着色,参数与背景着色一致
TypefaceSpan(String family) ----字体,参数是字体的名字比如“sans&, &sans-serif&等
StyleSpan(Typeface style) -----字体风格,比如粗体,斜体,参数是android.graphics.Typeface里面定义的常量,如Typeface.BOLD,Typeface.ITALIC等等。
StrikethroughSpan----如果设置了此风格,会有一条线从中间穿过所有的字,就像被划掉一样
对于这些Sytle span在使用的时候通常只传上面所说明的构造参数即可,不需要设置其他的属性,如果需要的话,也可以对它们设置其他的属性,详情可以参见文档。
SpannableString和SpannableStringBuilder都有一个设置上述Span的方法:
* 富文本设置字体大小
* @param srcString
* @param tartgetString
* @param txtSize
static public SpannableString setTextPartTextSize(String srcString, String tartgetString, int txtSize) {
int position = srcString.indexOf(tartgetString);
SpannableString mSp = new SpannableString(srcString);
if (position &= 0) {
mSp.setSpan(new AbsoluteSizeSpan(txtSize, false), position, position + tartgetString.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
return mSp;
static public SpannableString setTextPartTextSize(String srcString, String tartgetString, int targetColor, int txtSizeDp) {
int position = srcString.indexOf(tartgetString);
SpannableString mSp = new SpannableString(srcString);
if (position &= 0) {
mSp.setSpan(new AbsoluteSizeSpan(txtSizeDp, true), position, position + tartgetString.length(),
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mSp.setSpan(new ForegroundColorSpan(targetColor), position, position + tartgetString.length(),
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
return mSp;
二、用在java代码中设置xml宗的selector 这种用法之前确实是不知道也没有用过 &也不是那么简单。今天再看开源代码的时候发现的
ColorStateList csl;
XmlResourceParser xrp = getResources().getXml(R.xml.text_white_blue_selector);
//XmlResourceParser xrp = getResources().getXml(R.drawable.text_white_blue_selector);
csl = ColorStateList.createFromXml(getResources(), xrp);
} catch (XmlPullParserException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}tv.setTextColor(csl);
ps: 细心的开发者应该有发现txt.setTextColor 是不能直接设置资源的。因为Color 是int型的,资源id R也是int类型的。
public void setTextColor(ColorStateList colors) public void setTextColor(int color)
而上面所述的方法就是 setTextColor(ColorStateList colors) 这边来的
ps: 这是早期的代码 &编译是可以过去的 但是现在新的gralde工具是编译不过的 (debug可以编译过 &release 编译不过) 原因是
XmlResourceParser xrp = getResources().getXml(R.drawable.text_white_blue_selector);
提示 Expected resource of type xml (预期是xml的格式)
解决把这个text_white_blue_selector 选择器文件 移动一个文件夹
在工程Res 目录下新建一个xml 文件夹,把上述文件copy进去。对应句子改成
XmlResourceParser xrp = getResources().getXml(R.xml.text_white_blue_selector);就ok了
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:48488次
积分:1387
积分:1387
排名:千里之外
原创:94篇
评论:18条
(2)(1)(5)(3)(3)(4)(4)(2)(2)(1)(3)(1)(4)(4)(3)(2)(5)(2)(2)(3)(3)(1)(6)(7)(13)(10)(2)(1)Android&TextView自定义实现@用户跳转
Textview能满足简单的文字展示,其中可以设置自动索引链接,邮箱等。但有时候我们需要对TextView进行更丰富的展现原本的就很难满足需求。例如各种标注,特殊文字高亮,关键字链接。
& & 项目中需要用到对@用户的链接。所以楼主就去研究了一下Textview。结果发现使用Spannable接口能很好的实现对textview的拓展。而且android
SDK提供了很多实现类。
先看一下如下代码
//创建一个
SpannableString对象
SpannableString sp = new
SpannableString(“谷歌超链接、高亮显示、高亮1、高亮2、斜体、下划线.”);
//设置超链接
sp.setSpan(new URLSpan(“”), 0, 2,
Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式一
sp.setSpan(new BackgroundColorSpan(Color.RED), 11, 14,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//设置高亮样式二
sp.setSpan(new ForegroundColorSpan(Color.YELLOW), 15,
18, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置斜体
sp.setSpan(new
StyleSpan(android.graphics.Typeface.BOLD_ITALIC), 19, 21,
Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
//设置下划线
sp.setSpan(new UnderlineSpan(), 22, 25,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
sdk里面提供了很多span你可以使用。下面说一下楼主需要微博@高亮实现
ClickableSpan
从名字就会发现这是一个响应文字点击的span,这是一个抽象类,你需要实现该类的onclick方法代码如下:
你也可以复写updateDrawState方法对文字的外观进行一点修改。
WeiboAtClickSpan extends ClickableSpan {
public void
onClick(View arg0) {
//响应文字点击事件
public void
updateDrawState(TextPaint ds) { super.updateDrawState(ds);
//设置没有下划线
ds.setUnderlineText(false);
//设置颜色高亮
ds.setARGB(255, 0, 71, 112);
当然使用方法跟上面的示例代码一样给textview设置span,通过setspan的参数你可以发现要指定startindex和endindex,这样我们就可以在一段文字中通过制定的start和end给这段文字的不同位置设置span。从而就可以组合出丰富的textview展现了。当然edittext也支持这些接口,下面读者就自己去制造轮子吧。
当然最后不要忘了给textview设置值
SpannableString对象设置给TextView
spannableTextView.setText(sp);
设置TextView中的超链接可点击
spannableTextView.setMovementMethod(LinkMovementMethod.getInstance());
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。11:40 提问
让android的TextView可以滚动
我想要在一个文本视图里显示一段文本,但是文字太多,一屏显示不下。我需要让我的TextView可以滚动。我应该怎么做,这是我的代码。
final TextView tv = new TextView(this);
tv.setBackgroundResource(R.drawable.splash);
tv.setTypeface(face);
tv.setTextSize(18);
tv.setTextColor(R.color.BROWN);
tv.setGravity(Gravity.CENTER_VERTICAL| Gravity.CENTER_HORIZONTAL);
tv.setOnTouchListener(new OnTouchListener(){
public boolean onTouch(View v, MotionEvent e)
Random r = new Random();
int i = r.nextInt(101);
if (e.getAction() == e.ACTION_DOWN)
tv.setText(tips[i]);
tv.setBackgroundResource(R.drawable.inner);
setContentView(tv);
按赞数排序
事实上你不需要使用ScrollView
只要在你的布局的xml文件中设置你的TextView的属性:
android:maxLines = "AN_INTEGER"
android:scrollbars = "vertical"
然后在你的代码中用:
yourTextView.setMovementMethod(new ScrollingMovementMethod())
它可以自由的滚动了。
这就是我完全用XML实现的
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"&
&ScrollView
android:id="@+id/SCROLLER_ID"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical"
android:fillViewport="true"&
android:id="@+id/TEXT_STATUS_ID"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_weight="1.0"/&
&/ScrollView&
&/LinearLayout&
1)android:fillViewport="true"和android:layout_weight="1.0"将使得文本视图占据所有可用的空间。
2)当定义Scrollview,不要指定android:layout_height="fill_parent" 否则scrollview 不起作用!(就因为这个浪费了我一个小时的时间)
我赞成的观点:
为了能够在追加文本之后自动滚动到底部,用这个:
mTextStatus = (TextView) findViewById(R.id.TEXT_STATUS_ID);
mScrollView = (ScrollView) findViewById(R.id.SCROLLER_ID);
private void scrollToBottom()
mScrollView.post(new Runnable()
public void run()
mScrollView.smoothScrollTo(0, mTextStatus.getBottom());
所有的方法中真的有用的是setMovementMethod()。这是用LinearLayout的一个示例代码。
&?xml version="1.0" encoding="utf-8"?&
&LinearLayout xmlns:android="/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello"
&/LinearLayout&
WordExtractTest.java
public class WordExtractTest extends Activity {
TextView tv1;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
tv1 = (TextView)findViewById(R.id.tv1);
loadDoc();
private void loadDoc(){
String s = "";
for(int x=0;x&=100;x++){
s += "Line: "+String.valueOf(x)+"\n";
tv1.setMovementMethod(new ScrollingMovementMethod());
tv1.setText(s);
textView.post(new Runnable() {
public void run() {
// TODO Auto-generated method stub
textView.append(line);
final int scrollAmount = textView.getLayout().getLineTop(textView.getLineCount()) - textView.getHeight();
if (scrollAmount & 0)
textView.scrollTo(0, scrollAmount);
textView.scrollTo(0, 0);
这样做过后怎么去掉右边的滑动条?
15276关注|1532收录
其他相似问题
相关参考资料android中Textview如何限制在一行显示且多余字符自动截断
android中Textview如何限制在一行显示且多余字符自动截断
[摘要:话未几道,看赤色局部,width属性必需要设才有感化: TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/PopNameList" android:singleLine="true" android:ellipsize="end" androi]
话不多说,看红色部分,width属性必须要设才有作用:
&TextView android:layout_width="wrap_content"&
android:layout_height="wrap_content"
android:id="@+id/PopNameList" android:singleLine="true"android:ellipsize="end"android:textStyle="bold"& android:textSize="15sp"android:width="120dp" /&
感谢关注 Ithao123精品文库频道,是专门为互联网人打造的学习交流平台,全面满足互联网人工作与学习需求,更多互联网资讯尽在 IThao123!
Laravel是一套简洁、优雅的PHP Web开发框架(PHP Web Framework)。它可以让你从面条一样杂乱的代码中解脱出来;它可以帮你构建一个完美的网络APP,而且每行代码都可以简洁、富于表达力。
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。
用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特点,并且设计用来部署在低廉的(low-cost)硬件上;而且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了(relax)POSIX的要求,可以以流的形式访问(streaming access)文件系统中的数据。
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。
产品设计是互联网产品经理的核心能力,一个好的产品经理一定在产品设计方面有扎实的功底,本专题将从互联网产品设计的几个方面谈谈产品设计
随着国内互联网的发展,产品经理岗位需求大幅增加,在国内,从事产品工作的大部分岗位为产品经理,其实现实中,很多从事产品工作的岗位是不能称为产品经理,主要原因是对产品经理的职责不明确,那产品经理的职责有哪些,本专题将详细介绍产品经理的主要职责
IThao123周刊博客访问: 883245
博文数量: 121
博客积分: 3526
博客等级: 中校
技术积分: 1799
注册时间:
认证徽章:
记录总结自己的工作
IT168企业级官微
微信号:IT168qiye
系统架构师大会
微信号:SACC2013
分类: 嵌入式
1:查看是否有存储卡插入String status=Environment.getExternalStorageState();if(status.equals(Enviroment.MEDIA_MOUNTED)){& &说明有SD卡插入}2:让某个Activity透明OnCreate 中不设Layoutthis.setTheme(R.style.Theme_Transparent);以下是 Theme_Transparent的定义(注意transparent_bg是一副透明的图片)3:在屏幕元素中设置句柄使用Activity.findViewById来取得屏幕上的元素的句柄. 使用该句柄您可以设置或获取任何该对象外露的值.TextView msgTextView = (TextView)findViewById(R.id.msg);& &msgTextView.setText(R.string.push_me);4:发送短信& && && && &String body=”this is mms demo”;& && && &&&Intent mmsintent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”smsto”,&number, null));& && && &&&mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);& && && &&&mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, true);& && && &&&mmsintent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, true);& && && && &startActivity(mmsintent);5:发送彩信& && && &&&StringBuilder sb = new StringBuilder();& && && && &sb.append(”file://”);& && && && &sb.append(fd.getAbsoluteFile());& && && && &Intent intent = new Intent(Intent.ACTION_SENDTO, Uri.fromParts(”mmsto”, number,&null));& && && && &// Below extra datas are all optional.& && && && &intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_SUBJECT, subject);& && && && &intent.putExtra(Messaging.KEY_ACTION_SENDTO_MESSAGE_BODY, body);& && && && &intent.putExtra(Messaging.KEY_ACTION_SENDTO_CONTENT_URI, sb.toString());& && && && &intent.putExtra(Messaging.KEY_ACTION_SENDTO_COMPOSE_MODE, composeMode);& && && && &intent.putExtra(Messaging.KEY_ACTION_SENDTO_EXIT_ON_SENT, exitOnSent);& && && && &startActivity(intent);7:发送Mail& && && && & mime = “img/jpg”;& && && && &shareIntent.setDataAndType(Uri.fromFile(fd), mime);& && && && &shareIntent.putExtra(Intent.EXTRA_STREAM, Uri.fromFile(fd));& && && && &shareIntent.putExtra(Intent.EXTRA_SUBJECT, subject);& && && && &shareIntent.putExtra(Intent.EXTRA_TEXT, body);8:注册一个 BroadcastReceiverregisterReceiver(mMasterResetReciever, new IntentFilter(”oms.action.MASTERRESET”));private BroadcastReceiver mMasterResetReciever = new BroadcastReceiver() {& && &&&public void onReceive(Context context, Intent intent){& && && && &String action = intent.getAction();& && && && &if(”oms.action.MASTERRESET”.equals(action)){& && && && && & RecoverDefaultConfig();& && && && &}& && &&&}& & };9:定义ContentObserver,监听某个数据表private ContentObserver mDownloadsObserver = new DownloadsChangeObserver(Downloads.CONTENT_URI);private class DownloadsChangeObserver extends ContentObserver {& && &&&public DownloadsChangeObserver(Uri uri) {& && && && &super(new Handler());& && &&&}& && &&&@Override& && &&&public void onChange(boolean selfChange) {}&&& && &&&}& &10:获得 手机UApublic String getUserAgent()& & {& && && &&&String user_agent = ProductProperties.get(ProductProperties.USER_AGENT_KEY, null);& && && && &return user_& & }11:清空手机上CookieCookieSyncManager.createInstance(getApplicationContext());& && &&&CookieManager.getInstance().removeAllCookie();12:建立GPRS 连接& &//Dial the GPRS link.& & private boolean openDataConnection() {& && &&&// Set up data connection.& && &&&DataConnection conn = DataConnection.getInstance();& &&&& && && && &if (connectMode == 0) {& && && && && & ret = conn.openConnection(mContext, “cmwap”, “cmwap”, “cmwap”);& && && && &} else {& && && && && & ret = conn.openConnection(mContext, “cmnet”, “”, “”);& && && && &}& & }13:PreferenceActivity 用法public class Setting extends PreferenceActivity{& & public void onCreate(Bundle savedInstanceState) {& && &&&super.onCreate(savedInstanceState);& && &&&addPreferencesFromResource(R.xml.settings);& & }}Setting.xml:& && && && &android:key=”seting2″& && && && &android:title=”@string/seting2″& && && && &android:summary=”@string/seting2″/>& && && && &android:key=”seting1″& && && && &android:title=”@string/seting1″& && && && &android:summaryOff=”@string/seting1summaryOff”& && && && &android:summaryOn=”@stringseting1summaryOff”/>14:通过 HttpClient从指定server获取数据& && && && & DefaultHttpClient httpClient = new DefaultHttpClient();& && && && &HttpGet method = new HttpGet(“”);& && && && &HttpR& && && && &Reader reader =& && && && &try {& && && && && & // AllClientPNames.TIMEOUT& && && && && & HttpParams params = new BasicHttpParams();& && && && && & params.setIntParameter(AllClientPNames.CONNECTION_TIMEOUT, 10000);& && && && && & httpClient.setParams(params);& && && && && & resp = httpClient.execute(method);& && && && && & int status = resp.getStatusLine().getStatusCode();& && && && && & if (status != HttpStatus.SC_OK)& && && && && & // HttpStatus.SC_OK;& && && && && && && && && &} catch (ClientProtocolException e) {& && && && && & // TODO Auto-generated catch block& && && && && & e.printStackTrace();& && && && &} catch (IOException e) {& && && && && & // TODO Auto-generated catch block& && && && && & e.printStackTrace();& && && && &} finally {& && && && && & if (reader != null) try {& && && && && && &&&reader.close();& && && && && & } catch (IOException e) {& && && && && && &&&// TODO Auto-generated catch block& && && && && && &&&e.printStackTrace();& && && && && & }& && && && &}15:显示toastToast.makeText(this._getApplicationContext(), R.string._item, Toast.LENGTH_SHORT).show();16:在当前Activity中启动另外一个ActivitystartActivity(new Intent(this,目标Activity.class));17:从当前ContentView从查找控件(Button)findViewById(R.id.btnAbout)& &&R.id.btnAbout指控件id。18:获取屏幕宽高DisplayMetrics dm = new DisplayMetrics();&&//获取窗口属性getWindowManager().getDefaultDisplay().getMetrics(dm);& &&int screenWidth = dm.widthP//320&&int screenHeight = dm.heightP//480&19:无标题栏、全屏//无标题栏&&requestWindowFeature(Window.FEATURE_NO_TITLE);&&//全屏模式&&getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,&&&WindowManager.LayoutParams.FLAG_FULLSCREEN);&注意在setContentView()之前调用,否则无效。20注册activity所有用到的Activity都必须在AndroidManifest.xml中注册,否则会报空指针错误。如:,注意是包名+类名。转自:/guozioo@126/blog/static//
阅读(1536) | 评论(0) | 转发(0) |
相关热门文章
给主人留下些什么吧!~~
请登录后评论。}

我要回帖

更多关于 android 卸载 代码 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信