Articles of textview

android 3(API <= 11)组件中的新可选TextView

经过漫长而耗时的搜索,我找不到一个可以在textview中为android API级别<= 11选择文本的组件。 我写过这个可能对你有所帮助的组件: public class SelectableTextView extends TextView { public static int _SelectedBackgroundColor = 0xffA6D4E1; public static int _SelectedTextColor = 0xff000000; private OnTouchListener lastOnTouch; protected int textOffsetStart; protected int textOffsetEnd; private OnLongClickListener lastOnLongClick; protected boolean longCliked; protected boolean isDowned; protected int textSelectedEnd; protected int textSelectedStart; private static SelectableTextView lastInstance; public SelectableTextView(Context context) { super(context); […]

Gallery中的TextView

当我为TextView启用onTouchEvent()时,我有可滚动的TextView和Gallery ,我无法浏览Gallery ,如果我禁用onTouchEvent() ,我可以在Gallery左右滚动,但无法向上滚动到TextView 。 我试图做一些技巧,比如将相同的MotionEvent()发送到Gallery和TextView ..任何想法如何解决它?

Android:我如何知道textView(我的页面)中可以容纳多少文本?

我想创建一个文本阅读器,它将剪切文本并将其放在TextView(代表我的页面)和一个接一个。 它们包含在ViewFlipper(代表我的整个文本)中,它允许我翻页。 通过利弊我不能聪明地削减我的文字。 现在我将每个TextView限制为多个字符,但它非常不稳定。 事实上,有些字母占用的空间比其他字母多。我们不能使用这种方法。 我们如何才能知道TextView中输入的文本数量是多少? 我试图手动find我的View的最大大小。 我援引: float test = view.getPaint().measureText(myString); 它运作良好。 当我输入480个字母(0和1)时,我得到14,400,我的文字完全在屏幕内。 附: 1 -> 12.0 0 -> 12.0 é -> 11.0 \n -> 13.0 \r -> 7.0 总计填写页面 – > 14400 问题是换行和回车导致问题。 如果我的字符串中只有字母或数字,那么好:如果我们尊重最大尺寸14,400,屏幕上会显示所有内容。 没问题! 通过利弊,如果换行或回车,它不起作用。 即使我们尊重14400的限制,上面的文字并没有完全显示。 这是因为“MeasureText”方法;“仅为换行符返回13。但奇怪的是,换行符至少应该包含480以使其保持一致。 出版商如何将电子书(Moon Reader,+ Aldiko)的文字格式化得如此之好? 每个页面都有相同的高度,文本结尾在同一个地方..

如何设置textview width wrap_content但限制为父宽度的1/3

拥有TextView ,其宽度不应超过其父宽度的1/3。 如果其宽度小于父级的1/3,则应具有wrap_content行为。 它的水平兄弟将始终在它旁边开始。 尝试下面,它总是有1/3和2/3的硬切,所以如果text1的空间小于1/3, TextView 2将不会在它旁边启动。 将LinearLayout更改为RelativeLayout ,然后android:layout_weight=”n”不起作用 基本上,需要定义宽度是wrap_content而maxWidth不超过1/3。 有什么建议吗?

如何淡出TextView中最后一行的结尾?

我们如何在TextView的最后一行实现淡出效果,就像Play商店应用中的“WHAT’S NEW”部分一样?

Android上的化学公式

我正在开发一个Android项目,我想渲染一些化学公式。 我写了下面的代码,得到了以下结果。 我创建一个自定义字符串并在textview中显示它。 但我的问题是:这是最好的方法吗? 还有另一种方法可以解决这个问题吗? str = new SpannableString(Html.fromHtml(“2H+ + So42- –> H2So4”)); ss1.setSpan(new RelativeSizeSpan(0.6f), 2,3, 0); // set size ss1.setSpan(new RelativeSizeSpan(0.6f), 8,11, 0); // set size ss1.setSpan(new RelativeSizeSpan(0.6f), 17,18, 0); // set size ss1.setSpan(new RelativeSizeSpan(0.6f), 20,21, 0); // set size TempF.setText(ss1,TextView.BufferType.SPANNABLE);

Android textview文本在自定义字体的两侧被切断

这是预览和设备上发生的事情: TextView没什么特别的,只是加载自定义字体: public class TestTextView extends AppCompatTextView { public TestTextView(Context context) { super(context); init(context); } public TestTextView(Context context, AttributeSet attrs) { super(context, attrs); init(context); } public TestTextView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(context); } void init(Context context) { Typeface t = Typeface.createFromAsset(context.getAssets(), “fonts/daisy.ttf”); setTypeface(t); } } 布局也很基础,但以防万一: 如您所见,左侧部分,如“j”和“f”被切断。 设置填充或边距不起作用。 从其他程序使用时,此字体适合其框架。 提前致谢。 […]

在不使用String的情况下从用户获取char数组

我想从Android上的用户那里获取密码字符串。 我不希望这个字符串在用户输入过程中的任何时刻存储在Java String中,也不希望它存储在char或字节数组中的代码中。 其原因是Sun禁止将Java字符串用于敏感数据。 “Stringtypes的对象是不可变的,即没有定义允许您在使用后更改(覆盖)或清零String内容的方法。此function使String对象不适合存储安全敏感信息,如用户密码。您应该始终在char数组中收集和存储安全敏感信息。“ http://docs.oracle.com/javase/1.5.0/docs/guide/security/jce/JCERefGuide.html#PBEEx 所以我不能使用EditText,因为它在内部使用了字符串(即使它返回一个可编辑的,可以想象是由char []或Char []支持?)。 从用户接受char数组的最简单方法是什么? 我猜一个Canvas,我在那里听关键事件?

Android Textview Italic和wrap_contents

我使用3种不同颜色的斜体文字视图 我想知道每个最后一个角色都没有正确显示中间显示的名称是“丹·巴克兰”,它缺少最后一个角色看起来像“丹巴克拉诺” 还告诉我请问如何将textview斜体和粗体都用于.. alt text http://img.androidcookie.com/android/www.freeimagehosting.net

在TableRow中对齐TextView

我试图在这样的tablerow中对齐3个文本视图: |————————————————| | {TextView1} {TextView2} {TextView3} | |————————————————| // TextView 1, 2 Left aligned // TextView 3 Right aligned 此外,表格行应填充表格宽度。 使用下面的代码我只能实现这个目的: |————————————————| | {TextView1} {TextView2} {TextView3} | |————————————————| 我代码: TableRow tr = new TableRow(myActivity.this); TextView tvLeft = new TextView(myActivity.this); tvLeft.setText(values[0]); TextView tvCenter = new TextView(myActivity.this); tvCenter.setText(values[1]); TextView tvRight = new TextView(myActivity.this); tvRight.setText(values[2]); tvRight.setGravity(Gravity.RIGHT); tr.addView(tvLeft); tr.addView(tvCenter); […]