textview 相关问题

Android小部件,向用户显示文本,并可选择允许他们编辑文本。 TextView是一个完整的文本编辑器,但基本类配置为不允许编辑

如何以编程方式设置 TextView 的文本颜色[重复]

如何以编程方式将 TextView 的文本颜色设置为#bdbdbd?

回答 4 投票 0

如何在运行时更改 TextView 的样式

我有一个Android应用程序,当用户点击TextView时,我想应用定义的样式。 我想找到一个 textview.setStyle() 但它不存在。我试过 textview.setTextAppea...

回答 8 投票 0

Android TextView Marquee 不起作用

选框不适用于我的 TextView 请检查下面的代码 TextView 的 XML 代码 选框不适用于我的 TextView 请检查下面的代码 XML 代码 TextView <TextView android:id="@+id/mtextcash" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="30dp" android:ellipsize="marquee" android:fadingEdge="horizontal" android:gravity="center" android:marqueeRepeatLimit="marquee_forever" android:maxLength="5" android:scrollHorizontally="true" android:scrollbars="horizontal" android:singleLine="true" android:text="Simple application that shows how to use marquee, with a long text" android:textColor="@color/white" android:textColorHint="@color/white" android:textSize="25dp" /> 在 Activity OnCreate 中 TextView inputAvailableCash = (TextView) findViewById(R.id.mtextcash); inputAvailableCash.setSelected(true); 提前致谢 由于文本很长,并且只有在单行中编写文本时您的代码才能工作。要么添加 android:singleline="true" 在 xml 中或将您的 java 代码更改为。 TextView inputAvailableCash = (TextView) findViewById(R.id.mtextcash); inputAvailableCash.setSelected(true); inputAvailableCash.setSingleLine(true); 这肯定对你有用。 一旦尝试将这些参数放入您的 TextView - 它就有效 android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:focusable="true" android:focusableInTouchMode="true" 而且你还需要setSelected(true): my_TextView.setSelected(true); 在 TextView 上运行选取框的最低代码是 <TextView . . android:singleLine="true" android:ellipsize="marquee" android:marqueeRepeatLimit="marquee_forever" /> 也不要忘记如下设置选择 textview.setSelected(true); 在xml文件中添加此属性 android:focusable="true" android:focusableInTouchMode="true" 对于选取框效果,宽度应始终为“match_parent”或静态(如 200dp...等)。并以编程方式将其设置为 setSelected true,就像您已经完成的那样,然后只需将其宽度设置为 xml 中的 match_parent 即可。 编辑的xml: <TextView android:id="@+id/mtextcash" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_centerVertical="true" android:layout_marginLeft="30dp" android:ellipsize="marquee" android:fadingEdge="horizontal" android:gravity="center" android:marqueeRepeatLimit="marquee_forever" android:maxLength="5" android:scrollHorizontally="true" android:scrollbars="horizontal" android:singleLine="true" android:text="Simple application that shows how to use marquee, with a long text" android:textColor="@color/white" android:textColorHint="@color/white" android:textSize="25dp" /> 如果通过执行 match_parent 它会影响您的设计,那么您必须通过固定其宽度或其他方式来管理它。 根据您使用的 xml 代码 android:maxLength="5" 意味着仅输入 5 个字符,因此您可以将其宽度固定为 50dp 或任何其他静态大小。 嘿,检查此代码,但是当您的文本大小(即长度较长)时,选框工作。它在我这边工作。:) <TextView android:id="@+id/mywidget" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="marquee" android:focusable="true" android:focusableInTouchMode="true" android:singleLine="true" android:textColor="#2086CA" android:text="Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It has survived not only five centuries, but also the leap into electronic typesetting, remaining essentially unchanged. It was popularised in the 1960s with the release of Letraset sheets containing Lorem Ipsum passages, and more recently with desktop publishing software like Aldus PageMaker including versions of Lorem Ipsum." android:textAppearance="?android:attr/textAppearanceSmall" /> 希望这有帮助。:) <TextView android:id="@+id/mtextcash" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="30dp" android:ellipsize="marquee" android:gravity="center" android:marqueeRepeatLimit="marquee_forever" android:scrollHorizontally="true" android:singleLine="true" android:text="Simple application that shows how to use marquee, with a long text" android:textColor="@color/white" android:textColorHint="@color/white" android:textSize="25dp" /> 我错误地设置了 android:maxLines="1" 而不是使用 android:singleLine="true"。切换后,一切都按预期运行。

回答 8 投票 0

如何防止TextView中显示null?

对于 Android 来说非常陌生,老实说我对此感到困惑。 因此,我让 MainActivity 从第二个活动 CallAnActivity 接收一些字符串。 我已经决定将琴弦传回给...

回答 3 投票 0

如何获取TextView的行距?

Android中有没有办法获取TextView的行距?我尝试找到 TextView 的 Paint 的 fontMetrics 并执行以下操作: tv1.getPaint().getFontMetrics(pfm); 浮动字体顶部 = pfm.t...

回答 3 投票 0

如何在 Android 中显示彼此下方可变长度的项目符号点

我想在 Android 弹出窗口(使用 Java)中添加一个包含可变大小(行号)的项目符号点的列表,以便项目符号直接从彼此下方开始。例如我有...

回答 1 投票 0

TextView 中的 HTML 格式

我的字符串资源 xml 文件中有以下内容。 世界你好,ProDroid_A...

回答 1 投票 0

如何在约束布局中实现动态textview调整大小?

我在约束布局中有两个文本视图,它们水平相邻: 我在约束布局中有两个文本视图,它们水平相邻: <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal" android:paddingVertical="12dp"> <TextView android:id="@+id/textViewLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/textViewRight" app:layout_constraintHorizontal_chainStyle="spread_inside" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textViewRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:ellipsize="end" android:maxLines="2" android:singleLine="false" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/textViewLeft" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout> 当我为第一个文本视图设置长文本,为第二个文本视图设置短文本时,一切正常,第一个文本视图中的文本换行到另一行并被省略。 但是当我在第二个文本视图中制作长文本时,它会破坏第一个文本视图 出了什么问题以及如何解决? 试试这个,我在 TextView 之间插入视图并将其对齐到中心。并相应地设置约束。您也可以使用指南/障碍来实现这一点。 <?xml version="1.0" encoding="utf-8"?> <androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="horizontal" android:padding="12dp"> <TextView android:id="@+id/textViewLeft" android:layout_width="wrap_content" android:layout_height="wrap_content" android:ellipsize="end" android:maxLines="2" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toStartOf="@id/divider" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <View android:id="@+id/divider" android:layout_width="1dp" android:layout_height="0dp" app:layout_constraintBottom_toBottomOf="@id/textViewLeft" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" /> <TextView android:id="@+id/textViewRight" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginStart="8dp" android:ellipsize="end" android:maxLines="2" android:singleLine="false" app:layout_constrainedWidth="true" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:layout_constraintStart_toEndOf="@id/divider" app:layout_constraintTop_toTopOf="parent" /> </androidx.constraintlayout.widget.ConstraintLayout>

回答 1 投票 0

在Android中使用Html.fromHtml()突出显示文本颜色?

我正在开发一个应用程序,其中会有一个搜索屏幕 用户可以在其中搜索特定关键字,并且该关键字应该是 突出显示。我找到了 Html.fromHtml 方法。 但我...

回答 11 投票 0

在 TextView 数组中,仅显示最后一个 TextView

我正在尝试显示 TextView 数组,但只显示最后一个 TextView。我已经检查过根据 i 值移动约束边距,发现它们不在一个 a 之上...

回答 2 投票 0

Android:如何在 Kotlin 中获取自动调整大小的 TextView 的实际文本大小?

有时需要为多个自动调整大小的 TextView 设置相同的 textSize。例如,“数字输入”EditText 旁边的“单位”TextView。 然而,目前

回答 1 投票 0

Android XML 中 Textview 脱离父布局

我在保持文本视图可见并位于父布局的中心方面遇到一些问题 这是我想要的预期输出(这是图像,而不是 ui 布局本身) 但因为我不使用...

回答 1 投票 0

TextView 和 WebView 中的自定义字体问题

使用阿拉伯语或波斯语字体时,TextView 和 WebView 中的英文文本存在问题,下图是 TextView 中的波斯语和英文文本的示例(头部有 2 个视图...

回答 1 投票 0

“在视图更新期间修改状态,这将导致未定义的行为”使用表单内的 tabview 切换屏幕时控制台警告

这是我使用 SwiftUI 的第一个项目,它就像一个家庭库存跟踪器,我遇到了一个我不知道如何解决的问题。我的代码运行且功能正常,但是当按下按钮时...

回答 1 投票 0

Textview 文本在达到 2 行时会下降

我有以下代码。 我有以下代码。 <LinearLayout android:layout_marginStart="@dimen/space_10" android:layout_marginEnd="@dimen/space_10" android:layout_width="match_parent" android:layout_height="wrap_content" android:weightSum="3.2" android:orientation="horizontal" > <TextView android:id="@+id/tvDonate" android:fontFamily="@font/tajawal_medium" android:textSize="@dimen/font_size_14" android:textColor="@color/colorPrimary" android:background="@drawable/background_yellow_rounded_corner" android:gravity="center" android:layout_weight="1" android:text="@string/text_donation_title" android:layout_width="0dp" android:layout_height="@dimen/space_48"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.1" /> <TextView android:id="@+id/tvRecurring" android:fontFamily="@font/tajawal_medium" android:textSize="@dimen/font_size_14" android:textColor="@color/white" android:background="@drawable/background_darkergreen_rounded_corner" android:gravity="center" android:layout_weight="1" android:text="@string/recurring_donation" android:layout_width="0dp" android:layout_height="@dimen/space_48"/> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_weight="0.1" /> <TextView android:id="@+id/tvAddToCart" android:fontFamily="@font/tajawal_medium" android:textSize="@dimen/font_size_14" android:textColor="@color/colorPrimary" android:background="@drawable/greenborder_bg_10" android:gravity="center" android:layout_weight="1" android:text="@string/addToCart" android:layout_width="0dp" android:layout_height="@dimen/space_48"/> </LinearLayout> 第二个文本视图文本向下移动。 知道为什么会发生这种情况吗? 注意:如果文本是 1 行,一切都很好... 将文本视图高度设置为 match_parent android:layout_height="match_parent"

回答 1 投票 0

Android获取widget内的textView值

有没有办法从小部件内的textView项获取值?我的小部件布局中有 2 个 textView,在小部件更新时我想为其中之一设置新值,但我不想更改值...

回答 2 投票 0

通过xml从AutoCompleteTextView中删除下划线

我有这样的观点: 我有这样的观点: <AutoCompleteTextView android:id="@+id/search_bar" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_alignBottom="@+id/rect_search" android:layout_alignLeft="@+id/rect_search" android:layout_alignRight="@+id/rect_search" android:layout_alignTop="@+id/rect_search" android:hint="@string/search_bar" android:textSize="20sp" /> 如您所见,该视图进入另一个视图 rect_search,即 ImageView。 现在我注意到 AutoCompleteTextView 小部件底部有一个默认下划线,我将删除它。有可能吗? 只需输入: android:background="@android:color/transparent" 在你的视野中。 编辑:正如@kiya所说,现在更好用 android:backgroundTint="@android:color/transparent" 因为它保持视图尺寸。 android:inputType="textPhonetic" 这也能正常工作 android:inputType="textNoSuggestions" 如果您想删除下划线并保持大小,请使用以下代码: android:backgroundTint="@android:color/transparent" 我做了很多尝试来构建一个具有正确颜色的下拉菜单,并聚焦具有圆角的材质外观选项。 我会分享它来帮助其他人,结果会是这样的: 非对焦模式下: 在聚焦模式下并激活下拉菜单: 目前唯一的问题是,如果有人可以通过某种方式集中下拉菜单(例如使用键盘上的 TAB 按钮),他/她可以在文本框中输入内容,但在触摸模式下,就不会有问题 这是布局中应使用的 XML: <com.google.android.material.textfield.TextInputLayout style="@style/CustomDropDownLayout" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginStart="50dp" android:layout_marginEnd="50dp" android:padding="5dp" app:boxCornerRadiusBottomEnd="18dp" app:boxCornerRadiusTopEnd="18dp" app:boxCornerRadiusBottomStart="18dp" app:boxCornerRadiusTopStart="18dp" app:boxStrokeWidth="0dp" > <AutoCompleteTextView android:background="@drawable/drop_down_background" android:id="@+id/userNameDropdown" android:layout_width="match_parent" android:layout_height="wrap_content" android:inputType="none" /> </com.google.android.material.textfield.TextInputLayout> 将自定义样式放入:res\values\customstyles.xml文件: <?xml version="1.0" encoding="utf-8"?> <resources> <style name="CustomDropDownLayout" parent="Widget.MaterialComponents.TextInputLayout.FilledBox.ExposedDropdownMenu"> <item name="helperTextTextAppearance">@style/TextInputLayoutHelperStyle</item> <item name="errorTextAppearance">@style/TextInputLayoutErrorStyle</item> <item name="hintTextAppearance">@style/TextInputLayoutHintStyle</item> <item name="boxStrokeColor">@color/text_input_layout_dropdown_hint_color</item> </style> <style name="TextInputLayoutErrorStyle" parent="TextAppearance.Design.Error"> <item name="fontPath">fonts/Yekan-Bakh-Fat.ttf</item> </style> <style name="TextInputLayoutHintStyle" parent="TextAppearance.Design.Hint"> <item name="fontPath">fonts/Yekan-Bakh-Fat.ttf</item> </style> <style name="TextInputLayoutHelperStyle" parent="TextAppearance.Design.HelperText"> <item name="fontPath">fonts/Yekan-Bakh-Fat.ttf</item> </style> <style name="TextLabel" parent="TextAppearance.Design.Hint"> <item name="android:textSize">20sp</item> <item name="android:textColor">@color/input_layout_not_focused</item> </style> </resources> 并将此颜色放入单个文件中,例如 res\color\text_input_layout_dropdown_box_color.xml: <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/colorPrimary" android:state_focused="true" /> <item android:color="@color/colorPrimary" android:state_hovered="true" /> <item android:color="@color/colorPrimary" android:state_enabled="false" /> <item android:color="@color/input_layout_not_focused" /> <!-- unfocused --> </selector> 还有另一个名为 \res\color\text_input_layout_dropdown_hint_color.xml 的文件 <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:color="@color/colorPrimary" android:state_focused="true" /> <item android:color="@color/colorPrimary" android:state_hovered="true" /> <item android:color="@color/colorPrimary" android:state_enabled="false" /> <item android:color="@color/input_layout_not_focused" /> <!-- unfocused --> </selector> 并将文件放入可绘制对象中res\drawable\drop_down_background.xml: <?xml version="1.0" encoding="utf-8"?> <shape xmlns:android="http://schemas.android.com/apk/res/android"> <solid android:color="#FFFFFF" /> <corners android:radius="20dp" /> <stroke android:width="2dp" android:color="@color/text_input_layout_dropdown_box_color" /> </shape> 并使用这样的自定义适配器: ArrayAdapter dropDownAdpater = new ArrayAdapter<>(this, R.layout.dropdown_menu_popup_item, users); userNameDropDownMenuAutoCompleteTextView.setAdapter(dropDownAdpater); //set first item as selected one if (users != null && users.size() > 0) { userNameDropDownMenuAutoCompleteTextView.setText(dropDownAdpater.getItem(0).toString(), false); } userNameDropDownMenuAutoCompleteTextView.setDropDownBackgroundResource(R.drawable.drop_down_background); userNameDropDownMenuAutoCompleteTextView.setOnTouchListener((view, motionEvent) -> { userNameDropDownMenuAutoCompleteTextView.showDropDown(); return true; }); 最后在文件中的布局中添加一个文件res\layout\dropdown_menu_popup_item.xml: <TextView xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content" android:padding="16dp" android:ellipsize="end" android:maxLines="1" android:textAppearance="?attr/textAppearanceSubtitle1"/> 如果要删除下划线并保持大小,请使用以下代码:app:boxStrokeWidth="0dp" => android:id="@+id/textInputLayout2" android:layout_width="345dp" android:layout_height="65dp" android:background="color/transparent" android:backgroundTint="@color/transparent" app:endIconMode="dropdown_menu" app:layout_constraintBottom_toBottomOf="parent" app:layout_constraintEnd_toEndOf="parent" app:boxBackgroundColor="@color/transparent" android:scrollIndicators="none" app:boxStrokeWidth="0dp" app:layout_constraintStart_toStartOf="parent" app:layout_constraintTop_toTopOf="parent" app:startIconDrawable="@drawable/people" app:startIconTint="@color/btnbackground"> <AutoCompleteTextView android:id="@+id/autotext" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/button_corner_border" android:inputType="text" android:textColor="@color/darkbringle" /> </com.google.android.material.textfield.TextInputLayout>

回答 6 投票 0

我面临与 Android 中弃用 singleLine 属性相关的问题

虽然 singleLine 已经被弃用很长一段时间了,但我还没有找到某些效果的合适替代品。例如,考虑以下场景: 虽然 singleLine 已经被弃用很长一段时间了,但我还没有找到某些效果的合适替代品。例如,考虑以下场景: <TextView android:layout_width="100dp" android:layout_height="wrap_content" android:ellipsize="end" android:singleLine="true" android:text="aaaaaaa\nbbbbbbb\ncccccc" /> 我想要一个单行文本视图,它会在末尾使用省略号 (...) 截断文本。 此外,我需要替换换行符( )的风格类似于空间。 想要的效果如下图所示: 您能否指导我如何使用其他 XML 属性达到相同的效果?请注意,我更喜欢不涉及编写代码的解决方案,因为这会违背最初的目的。 你必须编写代码。没有其他方法可以做到这一点。最简单的方法是在字段上设置一个 TextWatcher,每当设置新字符串时,替换所有字符串 在带有空格的字符串中,如果不存在则在末尾附加一个省略号(使用省略号 unicode 字符,这样他们就不能在点之间放置东西)。

回答 1 投票 0

样式上的按位运算(textview 字体)

我编写了为文本视图设置/取消设置粗体和斜体样式的代码。 它运行完美,但我的 Android Studio 遇到了一些问题。 样式 &= (int) ~Typeface.BOLD; - Android Studio 告诉我,

回答 1 投票 0

Android:TextView透明png作为背景资源不起作用

我在 CardView 中有一个简单的 TextView (充当按钮): 我在 CardView 中有一个简单的 TextView(充当按钮): <androidx.cardview.widget.CardView android:id="@+id/cvTestType" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_margin="20dp" app:cardCornerRadius="5dp" app:cardElevation="10dp"> <TextView android:id="@+id/tvTestType" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textStyle="bold" android:textSize="15sp" /> </androidx.cardview.widget.CardView> 我正在尝试为按钮设置透明的 png 背景,如下所示: private fun TextView.setTestTypeTextView(testType: TestTypeDTO) { val buttonFontSize = this.context.prefsByScreenDensity()[3] this.height = buttonsHeight this.text = testType.testTypeName.uppercase(Locale.getDefault()) this.setTextSize(TypedValue.COMPLEX_UNIT_SP, buttonFontSize.toFloat()) this.setTextColor(Color.parseColor(props.appearance.colors.appColor)) this.setBackgroundResource(R.drawable.button_act_background) } 问题是,从截图中可以看出,使用透明png作为背景是行不通的,它只是将按钮显示为白色,根本没有背景,只有在使用非透明背景时才有效. PNG 是使用 Gimp 创建(并导出)的,使用 Android Studio 预览可以完美地看到它。 有什么帮助吗? 编辑1: 尝试了不同的透明PNG,发现使用另一个PNG我可以看到绘图,但背景仍然是白色。 根本原因是您看到的 CardView 背景似乎与您的主题一样是白色的。您可以使用 app:cardBackgroundColor="@color/yourColor" 进行更改。

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.