我不知道如何使TextView上的特定文本变为BOLD.
就像这样
txtResult.setText(id+" "+name);
Run Code Online (Sandbox Code Playgroud)
我希望输出如下:
1111尼尔
id并且name是我从数据库中检索了值的变量,我想使其id变为粗体,但只有id这样才name不会受到影响,我不知道如何做到这一点.
我正在使用TextInputLayout设计库中的新功能.我可以让它显示并更改浮动标签的颜色.不幸的是,实际EditText提示现在总是白色的.
我试过用XML,样式和编程方式更改hintColor,并尝试使用android.support.v7.widget.AppCompatEditText
但EditText提示总是显示白色.
这是我TextInputLayout和我的XMLEditText
<android.support.design.widget.TextInputLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android.support.design:hintTextAppearance="@style/GreenTextInputLayout">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/city"
android:textColorHint="@color/black"
android:hint="@string/city" />
</android.support.design.widget.TextInputLayout>
Run Code Online (Sandbox Code Playgroud)
这是我正在使用的样式TextInputLayout(我尝试将hintTextColor属性设为黑色,但没有为我做任何事情):
<style name="GreenTextInputLayout" parent="@style/TextAppearance.AppCompat">
<item name="android:textColor">@color/homestory_green</item>
</style>
Run Code Online (Sandbox Code Playgroud) android android-edittext android-textattributes android-support-library android-design-library
我有一个非常具体的问题,当TextInputLayout没有聚焦时,它会改变TextInputLayout文本框的轮廓.我似乎无法找到一个属性来更改我的"未聚焦"文本框边框的颜色.
这是我正在尝试做的一个视觉示例:
此(文本框)的颜色:边框不是白色.目前它没有集中精力.点击它后,它变成白色:
我不知道我需要改变什么,似乎没有一个属性可以改变它.
我也使用材料设计文本输入布局样式,虽然我不知道这是否会影响它.
这是我的文本框的xml代码:
<other layouts ... >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="70dp"
android:layout_gravity="bottom"
android:layout_margin="5dp"
android:background="@drawable/item_recycler_view">
<android.support.design.widget.TextInputLayout
android:id="@+id/dialog_text_input_layout"
style="@style/Widget.AppTheme.TextInputLayoutList"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Quick Add..."
android:textColorHint="@color/colorWhite"
app:boxStrokeColor="@color/colorWhite"
app:errorEnabled="true"
>
<android.support.design.widget.TextInputEditText
android:id="@+id/dialog_edit_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="text"
android:maxLines="1"
android:textColor="@color/colorWhite"
android:textSize="14sp" />
</android.support.design.widget.TextInputLayout>
</RelativeLayout>
</other layouts...>
Run Code Online (Sandbox Code Playgroud)
以下是我用于此的样式:
<style name="TextAppearance.AppTheme.TextInputLayout.HintTextAlt" parent="TextAppearance.MaterialComponents.Subtitle2">
<item name="android:textColor">@color/colorWhite</item>
</style>
<style name="Widget.AppTheme.TextInputLayoutList" parent="Widget.MaterialComponents.TextInputLayout.OutlinedBox">
<item name="hintTextAppearance">@style/TextAppearance.AppTheme.TextInputLayout.HintTextAlt</item>
<item name="boxStrokeColor">@color/colorWhite</item>
<item name="boxCornerRadiusBottomEnd">5dp</item>
<item name="boxCornerRadiusBottomStart">5dp</item>
<item name="boxCornerRadiusTopEnd">5dp</item>
<item name="boxCornerRadiusTopStart">5dp</item>
<item name="android:layout_margin">5dp</item>
</style>
Run Code Online (Sandbox Code Playgroud)
谢谢,欢迎任何帮助或建议!
android textview android-textattributes android-textinputlayout
我已经实现了自定义TextView,然后我需要更改其文本大小以供将来使用.在那一步,我决定使用style.xml和attr.xml进行textSize自定义
但是,当我的自定义布局膨胀时,我收到运行时错误.与我为了自定义而更改的部件相关的错误.
这是我实现的代码片段.
attr.xml
<declare-styleable name="FieldLayout">
<attr name="right_detail_text_size" format="dimension"/>
</declare-styleable>
Run Code Online (Sandbox Code Playgroud)
styles.xml
<style name="TextViewRightDetail">
<item name="android:textSize">?attr/right_detail_text_size</item>
</style>
Run Code Online (Sandbox Code Playgroud)
layout_field_detailed.xml
<com.my.view.TextViewFont
android:id="@+id/layout_fielddetailed_textview_rightdetail"
style="@style/TextViewRightDetail" />
Run Code Online (Sandbox Code Playgroud)
layout_implementation.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:iattr="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.my.view.FieldLayoutDetailed
android:id="@+id/fieldlayoutdetailed_example"
android:layout_width="match_parent"
android:layout_height="wrap_content"
iattr:right_detail_text_size="16sp"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
FieldLayoutDetailed.java
public FieldLayoutDetailed(Context context, AttributeSet attrs) {
super(context, attrs);
TypedArray array = context.obtainStyledAttributes(attrs,R.styleable.FieldLayout, 0, 0);
LayoutInflater.from(context).inflate(R.layout.layout_field_deailed, this, true);
Run Code Online (Sandbox Code Playgroud)
我在运行时遇到错误
...
Caused by: java.lang.RuntimeException: Failed to resolve attribute at index 12
at android.content.res.TypedArray.getDimensionPixelSize(TypedArray.java:569)
at android.widget.TextView.<init>(TextView.java:1003)
at android.widget.TextView.<init>(TextView.java:632)
at android.widget.TextView.<init>(TextView.java:628)
at com.my.view.TextViewFont.<init>(TextViewFont.java:29)
at java.lang.reflect.Constructor.newInstance(Native Method)
at java.lang.reflect.Constructor.newInstance(Constructor.java:288)
at …Run Code Online (Sandbox Code Playgroud) 我怎么知道某些文字包含"http:// www." 我想在Web View中显示域.域名是用TextView编写的,但添加前缀没有限制.如果用户没有输入,我必须在webview中添加和显示URL.
很多人注意到活动中的EditText即使一旦完成就会持有对活动的强引用.要清楚这个EditText在布局中并且已经膨胀,没有设置监听器.这仅发生在某些设备上,例如Samsung Galaxy S4(Android 4.2.2)和其他设备.很多帖子都说没有解决方案.首先是一些有用的帖子.(最终GC会清除它,所以它在技术上不是泄漏,但对于重型内存应用程序,它需要很长时间并将导致OOM)
为什么EditText在Ice Cream Sandwich中保留其Activity的Context
所提到的解决方案并不适用于所有设备.它归结为Edittext Watcher.我认为可能有一个解决方案来覆盖这个Watcher然后有一个函数来清理onDestroy().请帮忙,我已经好几天了.
这是MAT直方图

android memory-leaks android-edittext android-textattributes
我正在尝试添加android:lineSpacingMultipliertextAppearance样式(android:textAppearance),但无法正常工作。难道我做错了什么?
TextAppearance样式:
<style name="TextAppearance.Body1" parent="TextAppearance.AppCompat.Body1">
<item name="android:lineSpacingMultiplier">1.25</item>
</style>
Run Code Online (Sandbox Code Playgroud)
使用方式:
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="This is body 1\nThis is body 1"
android:textAppearance="TextAppearance.Body1"
/>
Run Code Online (Sandbox Code Playgroud) 我有一个与此类似的问题,但我只想让按钮上的文字闪烁。我不希望按钮背景也闪烁。
这是我的R.anim.blink.xml文件:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha android:fromAlpha="0.0"
android:toAlpha="1.0"
android:interpolator="@android:anim/accelerate_interpolator"
android:duration="500"
android:startOffset="20"
android:repeatMode="reverse"
android:repeatCount="infinite"/>
</set>
Run Code Online (Sandbox Code Playgroud)
但是这段代码...
Animation blinkingAnimation = AnimationUtils.loadAnimation(this, R.anim.blink);
myButton.setAnimation(blinkingAnimation);
Run Code Online (Sandbox Code Playgroud)
...使整个按钮闪烁。那么如何让文字只闪烁(所以按钮背景一直显示)?
android android-animation android-button android-textattributes
在我的strings.xml文件中,我定义了以下内容:
<string name="mystring"><b>Bold text</b>Non-bold text</string>
Run Code Online (Sandbox Code Playgroud)
它应该工作,正如它在这里指定的那样.但实际上只显示粗体文本,文本的另一部分消失了.
我正在尝试更改TabWidget文本颜色,但没有成功,即使我尝试了不同的方式来更改它(请参阅下面的代码.)
我的背景标签是一张图片:
for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT);
}
Run Code Online (Sandbox Code Playgroud)
我不知道这是否与我现在想做的事情产生某种冲突.
解决方法1:
main.xml中
....
<TabWidget
android:id="@android:id/tabs"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="@drawable/tabbarbackground"
android:tabStripEnabled="false"
style="@style/TabText"
/> ....
Run Code Online (Sandbox Code Playgroud)
style.xml
... <style name="TabText">
<item name="android:textColor">@color/tab_text_color</item> </style> ....
Run Code Online (Sandbox Code Playgroud)
tab_text_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:textColor="#2daed9" />
<item android:state_selected="false" android:color="#FFFFFF" />
</selector>
Run Code Online (Sandbox Code Playgroud)
解决方案2
for (int i = 0; i < tabHost.getTabWidget().getTabCount(); i++) {
tabHost.getTabWidget().getChildAt(i).setBackgroundColor(Color.TRANSPARENT);
RelativeLayout rl = (RelativeLayout) tabHost.getTabWidget().getChildAt(i);
TextView textView = (TextView) rl.getChildAt(1);
textView.setTextColor(R.color.tab_text_color);
}
Run Code Online (Sandbox Code Playgroud)
tab_text_color.xml
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_selected="true" android:textColor="#2daed9" /> …Run Code Online (Sandbox Code Playgroud) 我有一个包含主题标签的textview.#first #second #third.我的问题是如何检测单击哪个#标签,以便执行某些操作 - 例如.为这个词做吐司.这可能使用TextView小部件吗?我应该使用其他一些小部件吗?
UPDATE
我用这个例子找到了我的解决方案.希望将来能帮助别人!
我需要获取文本视图的文本大小,以便在用户按下按钮时增加文本大小,这表示它有助于增加文本视图中的文本大小.让我明白到目前为止我所做的一切
我有一个文本视图,并通过dimen文件夹设置其文本大小
<TextView
android:id="@+id/tv_text"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="2dp"
android:text="@string/flash"
android:textSize="@dimen/tv_text_fontsize"
android:gravity="fill_horizontal"
/>
Run Code Online (Sandbox Code Playgroud)
相应地支持我的文本视图文本大小到所有屏幕尺寸我已经做了不同的dimen文件夹并设置文本大小如下
<dimen name="tv_text_fontsize">32sp</dimen>
因此对于平板电脑等大型设备来说它是32sp.
但是当我通过java获得文本视图的大小时,它返回错误的文本大小.在这里看到吼叫何我得到的文字大小
float textSize = tvContentString.getTextSize();
Run Code Online (Sandbox Code Playgroud)
但是这会让我错误地返回textview的文本大小.
请建议我,如何在文本视图中显示确切的文本大小.因为我想在按钮按下增加文本大小所以为此我需要检索文本的实际大小,即如果文本大小是32我想要增加它32 + 1 = 3sp
但是,当我检索文本大小时,它是其他一些东西,例如平板电脑,我已经设置了32sp,但是它正在检索我42,所以在42 + 1中增加它的43,当我按下按钮按下它看起来很尴尬.
请帮忙 !!!如何获得真实文本大小.??
当用户输入我的edittext时,文本有点小,我喜欢这个更大可能是20-25 sp这样做的最佳方式是什么?