Articles of android textview

如何在android中获取textView的宽度

这是我正在使用的代码…… 这是一个java代码。 protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); TextView textView = (TextView) findViewById(R.id.textView); Log.d(“left”, textView.getLeft() + ” ” + textView.getRight() + ” ” + textView.getWidth()+” “+textView.getHeight()); } 对于以上所有我得到输出0。 那我怎样才能得到textView的宽度和高度。

如何更改复制文本时出现的文本选择工具栏颜色?

我正在开发一个应用程序,我为TextViews设置了“android:textIsSelectable”。 但我的材质主题与TextSelection appBar不匹配。 有没有办法可以改变appBar的颜色? 附上下面的图片检查: –

如何允许用户在TextView中选择文本范围(类似于EditText)

我有一个TextView ,我想让用户从中选择一系列文本。 TextView占用设备的整个宽度和高度(减去一些填充和顶部的标题)。 在EditText如果长按一下,您将获得一个选择叠加层,允许您设置选择左右边界。 我想在TextView中使用这个function。 我已经在API级别9(2.3)(http://developer.android.com/sdk/android-2.3.html)中看到了新的文本选择控件,但是我很难实现它。 我现在正在这样做: eic = new InputConnection( bookTextView ); eic.beginBatchEdit(); 但它没有做任何明显的事情。 有谁知道如何正确使用InputConnection ? 谢谢。 编辑:我不一定需要使用我上面尝试的内容。 我最终想要使用TextView或EditText ,它看起来和感觉像TextView并能够使用拖动光标选择文本。 然后我想用各种上下文菜单选项(或popup所选文本上方的菜单)操作所选文本。

findViewById重新出现错误的元素?

我无法理解为什么findViewById返回错误的元素,这里是类: public class EventDetailsFragment extends FragmentActivity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.event_details); Log.d(“First”, findViewById(R.id.tuxtView1).getClass().toString()); Log.d(“Second”, findViewById(R.id.tuxtView2).getClass().toString()); Log.d(“Third”, findViewById(R.id.imageView1).getClass().toString()); } } 这是xml: logcat输出是: 12-26 23:43:20.249: D/First(6789): class android.widget.TextView 12-26 23:43:20.249: D/Second(6789): class android.widget.ImageView 12-26 23:43:20.249: D/Third(6789): class android.widget.TextView 所以重点是,为什么我得到一个id为R.id.tuxtView2的imageview和一个id为R.id.imageView1的textview。 如果我想将文本值分配给R.id.tuxtView2,并将其作为TextView进行转换,应用程序将崩溃。

检测ListView中的TextView是否为椭圆化

我有一个自定义适配器,在ListView中呈现一些项目。 如果项目的文本是椭圆形的,我需要在ListView的项目上显示一个图标,如果有足够的空间让文本完成,我需要隐藏它。 我可以访问我的适配器的getView方法中的按钮(我设置文本),但是在设置文本时不会立即添加省略号。 有什么方法可以做到这一点吗? 这是我的TextView标记:

Android:如何更新片段中的textView

我正在尝试使用片段来构建我的第一个适当的Android应用程序。 我有一个主要的xml。 它由两个垂直片段组成,顶部片段只包含两个TextView。 第一个包含静态文本,第二个包含一个值,我最终将从SQL动态获取。 如果我把它作为我的MainActivity.java然后它愉快地更新我的第一个片段中的TextView的值: public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // Set the Text to try this out TextView t = (TextView)findViewById(R.id.viewItem); t.setText(“Text to Display”); } 我有两个片段XML和一个java来支持每个,所以我想把这个字段的设置放到支持片段的Java而不是MainActivity的java。 当我把它放在片段中时它看起来像这样: – public class FragmentMainTop extends Fragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState){ // — inflate the layout for this fragment return […]

如何使TextView看起来与EditText完全一样?

如何使整个TextView下划线匹配父类似EditText的宽度? 这行代码只强调文本,而不是整个TextView。 textView.setPaintFlags(textView.getPaintFlags()| Paint.UNDERLINE_TEXT_FLAG); 我想使用TextView的原因是,只需一次点击TextView即可触发setOnClickListener,而禁用的可编辑EditText则需要两次点击。

如何拥有一个圆形TextView

我一直在尝试制作一个圆形的TextView 。 它是一个圆圈,我想在圆形气泡上方容纳整个空间,如下图所示。 请看附图。 在此图像中,我们有一个带圆形文本的圆形气泡。 我已经尝试将椭圆形.xml设置为TextView背景但仍然没有运气。 编辑: 随着文字长度的增加。 它必须减小尺寸以适应圆圈内部。 这是最难思考的部分。

按下状态的TextView ClickableSpan样式

我正在将ClickableSpan子类化为我的TextView中的链接自定义文本样式。 private static class LinkSpan extends ClickableSpan { @Override public void onClick(View widget) { // code… } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); ds.setTypeface(Typeface.create(ds.getTypeface(), Typeface.BOLD)); ds.setColor(0xff336699); } } 我希望在处于按下状态或用户触摸链接时更改样式。 (如a:hover在css中)但我无法find一种方法来获取updateDrawState的当前状态。 有没有办法处理这个? 如果我无法更改文本样式,我希望至少能够更改背景颜色。 按照注释编辑 ,您可以在按下时更改单个ClickableSpan的文本颜色,而不会影响同一TextView中的其他ClickableSpans

检查textview是否在android中进行了椭圆化处理

我有TextView宽度作为wrap content 。 在这个TextView我设置文本,但文本每次都不是相同的长度。 当文本很长时,我使用单行true和ellipsize :end。 但现在我有一个问题。 我想设置其他布局的可见性,但这取决于我的文本的长度。 如果文本太长而无法放入屏幕我想要setVisible为true,但是当文本很短并且我不需要ellipsize时,我想将可见性设置为false。 所以我需要检查TextView的状态。 当它的ellipsize我想setVisible true,当它不是setVisible false时。 我怎么能这样做 这就是我得到的: tvAle.post(new Runnable() { @Override public void run() { int lineCount = tvAle.getLineCount(); Paint paint = new Paint(); paint.setTextSize(tvAle.getTextSize()); final float size = paint.measureText(tvAle.getText().toString()); Log.v(“a”, “”+size+” “+tvAle.getWidth()); if ((int)size > (tvAle.getWidth()+10)) { allergiesLayout.setVisibility(View.VISIBLE); } else allergiesLayout.setVisibility(View.GONE); } 但是这个解决方案不起作用。