如何水平和垂直居中文本的TextView
,所以,它正好出现在中间TextView
的Android
?
我定义了以下TextView:
<TextView android:layout_width="wrap_content"
android:layout_height="wrap_content" android:text="@string/txtCredits"
android:autoLink="web" android:id="@+id/infoTxtCredits"
android:layout_centerInParent="true"
android:linksClickable="true"></TextView>
Run Code Online (Sandbox Code Playgroud)
where @string/txtCredits
包含的字符串资源<a href="some site">Link text</a>
.
Android正在突出显示TextView中的链接,但它们不响应点击.有人能告诉我我做错了什么吗?我是否必须在我的活动中为TextView设置onClickListener,这对于这么简单?
看起来它与我定义字符串资源的方式有关.这不起作用:
<string name="txtCredits"><a href="http://www.google.com">Google</a></string>
Run Code Online (Sandbox Code Playgroud)
但这样做:
<string name="txtCredits">www.google.com</string>
Run Code Online (Sandbox Code Playgroud)
这是一个无赖,因为我宁愿显示文本链接而不是显示完整的URL.
我正在寻找一种最佳方法来调整包装文本的大小TextView
,使其适合其getHeight和getWidth界限.我不是简单地寻找一种包装文本的方法 - 我想确保它既包装又小到足以完全适合屏幕.
我在StackOverflow上看到了一些需要自动调整大小的情况,但它们或者是非常特殊的黑客解决方案案例,没有解决方案,或者涉及TextView
递归重新绘制,直到它足够小(这是内存密集并迫使用户观看文本逐步收缩每次递归).
但是我确信那里有人找到了一个很好的解决方案,不涉及我正在做的事情:编写几个重度例程来解析和测量文本,调整文本大小,然后重复直到找到一个合适的小尺寸.
TextView
用于包装文本的例程是什么?难道不能以某种方式用来预测文本是否足够小?
tl; dr:是否有一种最佳实践方法可以自动调整大小TextView
以适应,包裹,在其getHeight和getWidth范围内?
如何TextView
在Java中设置样式(粗体斜体)而不使用XML布局?
换句话说,我需要android:textStyle
用Java 编写.
我在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);
}
return true;
}
});
setContentView(tv);
Run Code Online (Sandbox Code Playgroud) 我有简单的HTML:
<h2>Title</h2><br>
<p>description here</p>
Run Code Online (Sandbox Code Playgroud)
我想在其中显示HTML样式的文本TextView
.这该怎么做?
所以我想android:fontFamily
在Android中更改,但我没有在Android中看到任何预定义的字体.如何选择其中一个预定义的?我真的不需要定义自己的TypeFace,但我所需要的只是它现在所显示的内容.
<TextView
android:id="@+id/HeaderText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="52dp"
android:gravity="center"
android:text="CallerBlocker"
android:textSize="40dp"
android:fontFamily="Arial"
/>
Run Code Online (Sandbox Code Playgroud)
看来我在那里做的不会真的有效!BTW android:fontFamily="Arial"
是一次愚蠢的尝试!
如何在背景Textview
中有颜色(即白色)的情况下制作约20%透明(不完全透明)的背景?
是否可以为TextView中的不同文本设置多个样式?
例如,我将文本设置如下:
tv.setText(line1 + "\n" + line2 + "\n" + word1 + "\t" + word2 + "\t" + word3);
Run Code Online (Sandbox Code Playgroud)
是否可以为每个文本元素设置不同的样式?例如,line1粗体,word1斜体等.
开发人员指南的常见任务和Android中的操作方法包括选择,突出显示或设置部分文本样式:
Run Code Online (Sandbox Code Playgroud)// Get our EditText object. EditText vw = (EditText)findViewById(R.id.text); // Set the EditText's text. vw.setText("Italic, highlighted, bold."); // If this were just a TextView, we could do: // vw.setText("Italic, highlighted, bold.", TextView.BufferType.SPANNABLE); // to force it to use Spannable storage so styles can be attached. // Or we could specify that in the XML. // …