我对这个assets文件夹很困惑.它不是在Android Studio中自动创建的,几乎所有论坛都讨论了Eclipse.
如何在Android Studio中配置Assets目录?
我想把TextView内容大胆,斜体和下划线.我尝试了以下代码并且它可以工作,但没有强调.
<Textview android:textStyle="bold|italic" ..
Run Code Online (Sandbox Code Playgroud)
我该怎么做?任何快速的想法?
如何更改a中的字体TextView,默认显示为Arial?如何将其更改为Helvetica?
我在我的应用程序中使用Roboto light字体.要设置字体,我要添加android:fontFamily="sans-serif-light"到每个视图.有没有办法将Roboto字体声明为整个应用程序的默认字体系列?我尝试过这样但它似乎没有用.
<style name="AppBaseTheme" parent="android:Theme.Light"></style>
<style name="AppTheme" parent="AppBaseTheme">
<item name="android:fontFamily">sans-serif-light</item>
</style>
Run Code Online (Sandbox Code Playgroud) 在这个问题的答案中,用户列出了android:fontFamily12种变体的值(见下文).这些价值来自哪里?该文档android:fontFamily未在任何地方列出此信息(我在此处查看,此处).这些字符串在各个地方的Android styles.xml文件中列出,但是这些字符串如何映射回Roboto字体?
从android 4.1/4.2开始,可以使用以下Roboto字体系列:
Run Code Online (Sandbox Code Playgroud)android:fontFamily="sans-serif" // roboto regular android:fontFamily="sans-serif-light" // roboto light android:fontFamily="sans-serif-condensed" // roboto condensed android:fontFamily="sans-serif-thin" // roboto thin (android 4.2) android:fontFamily="sans-serif-medium" // roboto medium (android 5.0)与此相结合
Run Code Online (Sandbox Code Playgroud)android:textStyle="normal|bold|italic"可能有12种变体:
- 定期
- 斜体
- 胆大
- 加粗斜体
- 光
- 光斜体
- 瘦
- 薄斜体
- 经常凝聚
- 浓缩斜体
- 浓缩大胆
- 浓缩大胆的斜体
在styles.xml应用程序的文件中我正在处理有人将其列为字体系列,我很确定它是错误的:
<item name="android:fontFamily">Roboto-Regular.ttf</item>
我想正确设置我们的应用程序主题(包括正确使用fontFamily)并删除在我查看文件之前创建的某些样式中的所有冗余.
我正在尝试使用Android中的XML文件定义GUI布局.据我所知,没有办法指定您的小部件应该在XML文件中使用自定义字体(例如,您放置在assets/font /中的字体),并且您只能使用系统安装的字体.
我知道,在Java代码中,我可以使用唯一ID手动更改每个窗口小部件的字体.或者,我可以迭代Java中的所有小部件来进行此更改,但这可能会非常慢.
我还有其他选择吗?有没有更好的方法来制作具有自定义外观的小部件?我不是特别想要为我添加的每个新小部件手动更改字体.
我的问题很简单:
在我的每个textview中,我目前正在使用该属性
android:fontFamily="sans-serif-light"
Run Code Online (Sandbox Code Playgroud)
在后HC设备上提供华丽的外观.
不幸的是,这不适用于每个小部件,对于我的Spinners,我需要覆盖适配器.
@Override
public View getView(int position, View convertView, ViewGroup parent) {
//You can use the new tf here.
if(convertView == null || convertView.getTag() == null) {
// new view - populate
convertView = inflater.inflate(android.R.layout.simple_spinner_dropdown_item, parent, false);
convertView.setTag(new Object());
}
CheckedTextView spinner_text=(CheckedTextView) convertView.findViewById(android.R.id.text1);
//Typeface should be set here...
return spinner_text;
}
}
Run Code Online (Sandbox Code Playgroud)
那么,有没有办法通过代码获得完全相同的结果?
PS:不,我不想在资产文件夹中添加字体,我只想使用系统一.
这样的帖子如何更改Android中TextView的fontFamily表明,您可以在Android 4.2中的styles.xml中指定的Roboto字体的变体归结为以下内容:
这就省去了使用例如TextViews的样式.Roboto-Medium或Roboto-Black字体.
但是为什么谷歌会添加不能用于TextView样式的系统范围的字体呢?当然必须有一些方法来指定styles.xml中的所有Roboto字体(即,不必将字体嵌入为Assets并在代码中创建自定义TextView) - 但是如何?
从API 16开始,Jellybean Roboto作为可用的字体系列推出.在这里看看Android 16中的"新" .
指定android:fontFamily="sans-serif"一个(在的Roboto API 16+)TextView默认fontFamily的TextView?
是
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content" />
Run Code Online (Sandbox Code Playgroud)
相当于
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="sans-serif" />
Run Code Online (Sandbox Code Playgroud)
?
"Roboto和Noto是Android和Chrome上的标准字体."
来自Wiki,
"Roboto是一款由Google开发的无衬线字体系列,作为其移动操作系统Android的系统字体."
我没有在文档中看到fontFamilyAndroid 的默认设置.见参考文献:
我有一个自定义视图,将文本绘制到画布上.我想将Font更改为assets文件夹中存储的字体.
我正在使用Android Studio,因此我创建了一个文件夹src/main/assets并将我的ttf文件放在那里.
Paint txt = new Paint()
Typeface font = Typeface.createFromAsset(getAssets(), "robotobold.ttf");
txt.setTypeface(font);
Run Code Online (Sandbox Code Playgroud)
问题是Android Studio无法识别我的自定义视图中的getAssets(),但它在我的Activity中识别它.我试过从我的Activity中传递Typeface但是当我这样做时它不会改变字体.
android ×9
fonts ×4
textview ×2
font-family ×1
interface ×1
java ×1
roboto ×1
styles ×1
text-styling ×1
typeface ×1