Articles of android textview

尝试在空对象引用上调用虚方法’int android.text.Layout.getLineCount()’

我随机获得空指针exception,通常它工作,有时它崩溃,我搜索了很多,但没有得到任何帮助,因为没有正确的线从我得到任何帮助, 我也在使用处理程序。 我的logcat错误如下,代码添加在它下面, java.lang.NullPointerException: Attempt to invoke virtual method ‘int android.text.Layout.getLineCount()’ on a null object reference at android.widget.TextView.onMeasure(TextView.java:6703) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.LinearLayout.measureChildBeforeLayout(LinearLayout.java:1436) at android.widget.LinearLayout.measureVertical(LinearLayout.java:722) at android.widget.LinearLayout.onMeasure(LinearLayout.java:613) at android.view.View.measure(View.java:17547) at android.widget.RelativeLayout.measureChildHorizontal(RelativeLayout.java:727) at android.widget.RelativeLayout.onMeasure(RelativeLayout.java:463) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.support.v7.internal.widget.ContentFrameLayout.onMeasure(ContentFrameLayout.java:135) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at android.view.View.measure(View.java:17547) at android.view.ViewGroup.measureChildWithMargins(ViewGroup.java:5535) at android.widget.FrameLayout.onMeasure(FrameLayout.java:436) at […]

使ImageSpan适合TextView行高

我需要在textview中放置一些图标,但它们不符合行高(请看箭头): 我试过这个: spannable.setSpan(new ImageSpan(context, entry.getValue(), ImageSpan.ALIGN_BOTTOM), Matcher.start(), matcher.end(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); t.setText(spannable, BufferType.SPANNABLE); 和这个: Drawable myIcon = c.getResources().getDrawable(R.drawable.myicon); myIcon.setBounds(0, 0, myIcon.getIntrinsicWidth(), myIcon.getIntrinsicHeight()); spannable.setSpan(new ImageSpan(myIcon, ImageSpan.ALIGN_BASELINE), matcher.start(), matcher.end(), Spanned.SPAN_INCLUSIVE_EXCLUSIVE); t.setText(spannable, BufferType.SPANNABLE); 在这两种情况下我都有相同的结果。 我将图标保存在/ res / drawable文件夹中,其大小为75x75px。 我试图降低图像分辨率,但它们看起来很模糊

禁用应用程序的Android O自动填充服务

Android O具有支持字段自动填充的function。 有什么办法可以为特定的应用程序禁用它。 那是我想强制我的应用程序不使用自动填充服务。 可能吗 ? 要阻止整个活动的自动填充,请在活动的onCreate()中使用: getWindow() .getDecorView() .setImportantForAutofill(View.IMPORTANT_FOR_AUTOFILL_NO_EXCLUDE_DESCENDANTS); 有没有比这更好的方法?

Android以编程方式创建视图的宽度

我有编程方式创建的TextView,如下所示: TextView mTextView = new TextView(getApplicationContext()); final LayoutParams params = new TableLayout.LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT); ((MarginLayoutParams) params).setMargins(8, 8, 0, 0); mTextView.setText(mText); mTextView.setLayoutParams(params); mTextView.setPadding(2, 2, 2, 2); mTextView.setBackground(getResources().getDrawable(R.drawable.note_corps)); tagMap.addView(mTextView); textViewsWidth = mTextView.getWidth(); 但是mTextView.getWidth()始终返回0 如果我尝试: mTextView.getLayoutParams().width 它返回LayoutParams类中的LayoutParams对应值(-1或-2) 如何获得视图的宽度? 编辑我需要在这里这样做: @Override public void onPostExecute(Hashtable hash){ final ScrollView tagMapScroll = (ScrollView) findViewById(R.id.tagMapScroll); final LinearLayout tagMap = (LinearLayout) findViewById(R.id.tagMap); final ArrayList arr […]

如何以编程方式设置textView的样式?

我正在以编程方式创建textView。 有没有办法可以设置这个textView的样式? 类似的东西 style=”@android:style/TextAppearance.DeviceDefault.Small” 如果我有一个layout.xml文件,我将使用它。

Android:以编程方式设置textview的一个填充

我想以编程方式设置textview的顶部填充。 我知道你可以用方法setPadding()来做到这一点。 但问题是这种方法需要4个参数:左,上,右,下。 我不想改变左,右和底,我只是想改变顶部填充。 那可能吗?

TextView Ellipsize(…)不起作用

我希望有一个单行的TextView ,当文本比TextView长时,最后会显示3个点。 我不知道为什么 – 但我不懂。 我已经围绕类似的StackOverflow问题,但我最终没有解决方案。 也许某人有一些有用的提示。 上面的LinearLayout嵌套在另外2个LinearLayouts 。 也许这一点很重要。 我已经尝试了属性“ singleLine ”,但是有些人说这已被弃用,无论如何它都无法工作。

如何根据设备宽度和字体大小测量TextView高度?

我正在寻找Android中的方法,它将接受输入(text,text_font_size,device_width),并根据这些计算,它将返回显示特定文本所需的高度? 我正在根据他的内容设置文本视图/ webview高度运行时,我知道warp内容但我不能在我的情况下使用,因为一些web视图最小高度问题。 所以我试图计算高度,并根据我设置视图高度。 我试过以下方法 Paint paint = new Paint(); paint.setTextSize(text.length()); Rect bounds = new Rect(); paint.getTextBounds(text, 0, 1, bounds); mTextViewHeight= bounds.height(); 所以输出是 1)“Hello World”返回字体15的高度13 2)“最新版本的Jelly Bean在这里,性能优化”返回字体15的高度16 然后我试过了 Paint paint = new Paint(); paint.setTextSize(15); paint.setTypeface(Typeface.SANS_SERIF); paint.setColor(Color.BLACK); Rect bounds = new Rect(); paint.getTextBounds(text, 0, text.length(), result); Paint.FontMetrics metrics = brush.getFontMetrics(); int totalHeight = (int) (metrics.descent – […]

“android:textIsSelectable =”true“不适用于RecyclerView中的TextView

我知道在xml中为TextView设置android:textIsSelectable=”true”将显示本机文本选择popup窗口,我一直在我的应用程序中使用它。 但是当我尝试在附加到RecyclerView的视图中设置相同的属性时,我发现它不再起作用了。 每当我尝试选择文本时,会出现以下日志 – TextView: TextView does not support text selection. Action mode cancelled. 我不知道为什么? 为什么它适用于其他屏幕而不适用于RecyclerView 。 我看了很多post – 带有android的TextView:textIsSelectable =“true”在listview中不起作用 textview textIsSelectable =“true”在Listview中不起作用 对于ListView中的TextView,android:textIsSelectable =“true”不起作用 但后来我遇到了这个post – Android:“TextView不支持文本选择。操作模式已取消” @hungkk的回复为我工作。 他的解决方案建议将TextView宽度从match_parent更改为wrap_content 。 我知道我可以做到这一点,但我的问题是如何解决这个问题,因为它看起来很奇怪。 而且,如果我想将宽度保持为match_parent ,那么解决方案是什么。 欢迎任何意见。

屏幕中央的TextView

可能重复: 如何在Android中的TextView中水平和垂直居中文本? 我有一个RelativeLayout (在它是一个LinerLayout之前),占据了所有的屏幕,我想放在这个Layout的中心,一个TextView 。 我试着用gravity = “center” layout_gravity = “center”和其他几个来做,但它不起作用。 有谁知道如何将TextView置于屏幕中间? 编辑 好吧,我想我解释得很糟糕。 我认为TextView位于中心,但我想要的中心是TextView的文本。 我可以这样做吗?