相关疑难解决方法(0)

Android工具栏中心标题和自定义字体

我正在尝试找出使用自定义字体作为工具栏标题的正确方法,并将其置于工具栏中(客户端要求).

目前,我正在使用旧的ActionBar,我将标题设置为空值,并使用setCustomView自定义字体TextView并使用ActionBar.LayoutParams将其居中.

有没有更好的方法呢?使用新工具栏作为我的ActionBar.

android android-layout android-theme android-styles android-toolbar

347
推荐指数
16
解决办法
34万
查看次数

SpannableStringBuilder创建具有多个字体/文本大小的String等示例?

我需要创建一个放在TextView中的String,它将显示如下字符串:

第一部分不大胆 大胆 休息不大胆

所以我想知道如何使用它SpannableStringBuilder来做到这一点?

我可以使用三个TextEdit来完成这个,但我想使用最佳解决方案.

android spannablestring spannablestringbuilder

70
推荐指数
8
解决办法
6万
查看次数

如何使用自定义字体设置Spannable对象字体

我有Spannable对象,我想通过我之前加载的自定义字体设置其字体.

Typeface tf = Typeface.createFromAsset(getAssets(), "fonts/font_Name.ttf");
Spannable span1 = /*Spannable Item*/;

/// I want to set span1 to have tf font face???
/// Here where I want help.
Run Code Online (Sandbox Code Playgroud)

编辑:
我的问题是我想为文本视图设置两种不同的自定义字体,所以我正在使用Spannable

android android-fonts spannable

63
推荐指数
8
解决办法
4万
查看次数

如何在同一部分文本上的TextView文本上设置多个跨度?

假设我有下一个文本:

你好stackOverflow

我希望将第二个单词设置为RelativeSizeSpan(设置相对字体大小)和TextAppearanceSpan(设置文本的颜色),如何将它们合并?

我所知道的是我可以选择其中一个,例如使用下一个代码:

final SpannableString textToShow = new SpannableString("Hello stackOverflow");
textToShow.setSpan(new RelativeSizeSpan(1.5f), textToShow.length() - "stackOverflow".length(),textToShow.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(textToShow);
Run Code Online (Sandbox Code Playgroud)

但我还需要设置颜色,甚至添加其他跨越类的其他功能......

我能做什么 ?

android font-size spannablestring

54
推荐指数
3
解决办法
5万
查看次数

单个TextView中的多个TypeFace

我想TextView用a 设置第一个字符,用TypeFace另一个Type面设置第二个字符,依此类推.
我读了这个例子:

Spannable str = (Spannable) textView.getText();
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7  
                             ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

但它没有帮助我,因为我想设置多个TypeFace (external TTFs)
任何想法?

java android

39
推荐指数
1
解决办法
2万
查看次数

将两种不同的字体样式应用于TextView

我想将两种不同的字体样式应用于单个TextView中的文本.

我的情况与Android相同- 两个句子,两个样式,一个TextView.唯一的区别是我想在整个文本上设置自定义字体.我已将Helvetica Font作为资产包含在我的项目中,并希望将该字体应用于TextView,文本的第一部分将是Helvetica BOLD,其余部分为Helvetica NORMAL.有什么建议怎么办?

需要以下格式的文字.具有不同样式和单个textview的自定义文本.

在此输入图像描述

fonts android styles textview

28
推荐指数
2
解决办法
3万
查看次数

如何更改Android菜单项的自定义字体?

我有以下Android Java和XML代码.我想更改我的应用程序的菜单项的字体.我只知道我们可以使用setTypeface更改TextView的字体,但无论如何都无法找到菜单项.

JAVA代码 - :

@Override
public boolean onCreateOptionsMenu(Menu menu) {    
    MenuInflater inflater = getMenuInflater();
    inflater.inflate(R.menu.main, menu);
    return true;
}

@Override    
public boolean onOptionsItemSelected(MenuItem item) {
   switch (item.getItemId()) {     
        case R.id.action_refresh1:                                          
            Toast.makeText(this, "Item1 Selected", Toast.LENGTH_SHORT)
            .show();      
        break;

        case R.id.action_refresh2:                                          
            Toast.makeText(this, "Item2 Selected", Toast.LENGTH_SHORT)
            .show();      
            break;

        default:      
            break;
   }
}
Run Code Online (Sandbox Code Playgroud)

XML代码 - :

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
<item
    android:id="@+id/action_refresh1"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Item1"/>

<item
    android:id="@+id/action_refresh2"
    android:orderInCategory="100"
    android:showAsAction="always"
    android:title="Item2"/>
</menu>
Run Code Online (Sandbox Code Playgroud)

我想更改两个菜单项的字体,但不知道如何为菜单项集成settypface.

android menuitem

25
推荐指数
4
解决办法
4万
查看次数

Android自定义字体可跨越字体跨度

我在整个应用程序中使用Helvetica字体.目前我正在与资产分开创建字体.所以我说这三个

HelveticaNeue = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeue.ttf");
HelveticaNeueBold = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBold.ttf");
HelveticaNeueBoldItalic = Typeface.createFromAsset(application.getAssets(), "fonts/HelveticaNeueBoldItalic.ttf");
Run Code Online (Sandbox Code Playgroud)

当我为一个TextView使用一种字体时,一切都很好用.但是,我需要使用spannable

Spannable WordtoSpan = new SpannableString("This text should be normal, but this needs to be bold, and normal");    
WordtoSpan.setSpan(new TypefaceSpan("bold"), 5, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
Run Code Online (Sandbox Code Playgroud)

而且我想让部分字符串为HeleveticaNeueBold,而有些则只是HelveticaNeue.我认为我需要的是向Android表明上面的3种字体实际上是相关的,以便它可以很好地切换它们.寻找任何其他方式来做到这一点.

android textview custom-font typeface

21
推荐指数
1
解决办法
2万
查看次数

Android Tamil字体在英语单词之间

我有一个TextView,其间有一个巨大的文本我有一个泰米尔语单词,我知道如何在单独的textview中嵌入泰米尔字体.但我需要英语单词之间的泰米尔语请提前帮助谢谢

我在textview中的部分文字:

Kolam使用了欢迎(நல்வரவு)等季节性消息.当一个奉献者的时候,有时候会在寺庙里做志愿者去画kolam

android textview tamil android-fonts

12
推荐指数
1
解决办法
4980
查看次数

如何使用支持库字体功能作为TextView内容的一部分(使用spannable)?

背景

支持库(此处为docs )允许您在XML中使用"res/font"文件夹中的TTF字体文件:

app:fontFamily="@font/lato_black"
Run Code Online (Sandbox Code Playgroud)

或通过代码:

val typeface = ResourcesCompat.getFont(context, R.font.lato_black)
Run Code Online (Sandbox Code Playgroud)

问题

虽然我知道可以使用spannable技术在TextView内容的部分内容中设置不同的样式(例如粗体,斜体,颜色等等),但我发现设置不同字体的唯一方法就是使用内置在操作系统的字体,如这里,但我不能看到一个办法做到这一点的加载字体的新途径.

我试过的

我试图找到一种方法来转换两者,但没有运气.当然,我也试图在可能的功能的文档中找到,并且我试图通过互联网找到它.

这个问题

如何为TextView的不同部分设置不同的字体?

例如,在文本"Hello world"中,将"Hello"设置为"lato_black"的字体,其余为默认值.


编辑:由于我得到了来自两个不同的人的相同答案,我不能接受另一个.给他们两个+1的努力,我已经改变了一点问题:

我如何轻松地将字体样式设置为文本的一部分,同时让strings.xml文件使用自定义字体标记定义它.

例如,这可以在strings.xml文件中进行设置,如上所述:

<string name="something" ><customFont fontResource="lato_black">Hello</customFont> world</string>
Run Code Online (Sandbox Code Playgroud)

然后,在代码中,您要做的就是使用以下内容:

textView.setText (Html.fromHtml(text, null, CustomFontTagHandler()))
Run Code Online (Sandbox Code Playgroud)

我认为这非常重要,因为翻译后的字符串可能与英语中的字符串差别太大,因此您不能只解析字符串的文本,然后选择设置自定义字体的位置.它必须在strings文件中.

fonts android textview spannable android-typeface

10
推荐指数
2
解决办法
1340
查看次数