android开发不同字体设置

  开发中控制不同的文字字体主要是对Typeface对象的使用

  因为是简单的demo,都是使用android原生的组件,虽丑,可以学到东西就ok啦!(若有错误或者不足,请各位不吝赐教,谢谢!)

  先看看简单运行的效果吧

      

         

即设置俩个button,一个textView,点击不同的按钮时,触发不同的事件。直接上代码

MainActivity.java

 1 public class MainActivity extends Activity implements OnClickListener {
 2
 3     private Button changeSize;
 4     private Button changeFont;
 5     private TextView tv;
 6
 7     @Override
 8     protected void onCreate(Bundle savedInstanceState) {
 9         super.onCreate(savedInstanceState);
10         initView();
11     }
12
13     private void initView() {
14         requestWindowFeature(Window.FEATURE_NO_TITLE);
15         setContentView(R.layout.activity_main);
16         tv = (TextView) findViewById(R.id.tv);
17         changeSize = (Button) findViewById(R.id.changeSize);
18         changeFont = (Button) findViewById(R.id.changeFont);
19         changeSize.setOnClickListener(this);
20         changeFont.setOnClickListener(this);
21     }
22
23     @Override
24     public void onClick(View v) {
25         switch (v.getId()) {
26         case R.id.changeSize:
27             //使用setTextSize改变字体大小,单位为sp
28             tv.setTextSize(20);
29             break;
30         case R.id.changeFont:
31             //必须时间在assets底下创建一fonts文件夹   放入要使用的字体文件(.ttf),提供相对路径给CreateFromAssets()来创建Typeface对象
32             tv.setTypeface(Typeface.createFromAsset(getAssets(), "fonts/song.ttf"));
33         default:
34             break;
35         }
36     }
37 }

activity_main.xml

 1 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 2     xmlns:tools="http://schemas.android.com/tools"
 3     android:layout_width="match_parent"
 4     android:layout_height="match_parent"
 5     tools:context=".MainActivity" >
 6
 7     <TextView
 8         android:id="@+id/tv"
 9         android:layout_width="wrap_content"
10         android:layout_height="wrap_content"
11         android:text="@string/hello_world"
12         android:textSize="13sp" />
13
14     <Button
15         android:id="@+id/changeSize"
16         android:layout_width="wrap_content"
17         android:layout_height="wrap_content"
18         android:layout_alignParentLeft="true"
19         android:layout_below="@+id/tv"
20         android:layout_marginTop="15dp"
21         android:text="@string/changeSize" />
22
23     <Button
24         android:id="@+id/changeFont"
25         android:layout_width="wrap_content"
26         android:layout_height="wrap_content"
27         android:layout_alignBaseline="@+id/changeSize"
28         android:layout_alignBottom="@+id/changeSize"
29         android:layout_marginLeft="16dp"
30         android:layout_toRightOf="@+id/changeSize"
31         android:text="@string/changeFont" />
32
33 </RelativeLayout>

  将外部字体文件放在fonts/底下,就可以使用AssetsManage来引用外部资源

  除了使用createFromAsset来构造Typeface外,也可以通过defaultFromStyle来使用android内置的几款Typeface,这里不再赘述,下面是Typeface的类型层次结构,可以看到几个常用的方法。

        

代码下载:https://github.com/SamSarah1/AndroidDemo  

   

时间: 2024-10-11 21:44:04

android开发不同字体设置的相关文章

Android开发之字体设置

默认字体 Android SDK自带了四种字体:"normal"“monospace",“sans”, “serif”,如下: 字体 看这四兄弟长的还是蛮像,我是看不出多大差别... 设置方式 1.通过XML文件设置 <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="monosp

设计师给了px单位的标注,Android开发到底要设置多少dip、dp、sp?

本文链接    http://blog.csdn.net/xiaodongrush/article/details/29560431 1. 要开发一款Android APP,设计师和开发要约定哪些事情? 首先,选择一款主流机型. 然后,设计师根据该机型的屏幕尺寸设计效果图,给出px单位的标注. 最后,开发根据该机型,可以算出px与dp的换算方法,根据px单位的标注,设置为dp为单位的标注. 备注:1dp=1dip=1sp,对于一般长宽dp或者dip都可以,sp是字体专用单位,在操作系统中设置大中

Android开发之动态设置字体的样式和粗细

字体设置通常有两种形式: 1:在xml中直接设置 android:textStyle="bold" android:typeface="sans" 2:用java代码的形式设置 在Android SDK中使用Typeface类来定义字体,可以通过常用字体类型名称进行设置,如设置斜体: TextView quehuo = (TextView)findViewById(R.id.quehuo);//为TextView显示的字体设置样式 quehuo.setTypefac

Android app全局字体设置

相信很多对设计追求极致的开发者们对Android系统的默认字体都会感到不满意,这个时候需要使用自定义的字体,当然可以使用系统提供的Typeface来加载自定义字体,但是,一个个TextView的设置,是不是很快就疯了,本文给大家介绍如何快速定义自定义的app全局字体 方法很简单,就是使用github上的一个开源库Calligraphy,使用步骤只需要以下几步 在AndroidStudio中添加依赖,搜索calligraphy点击添加即可(如果还没有使用AndroidStudio,推荐切换到此go

Android APP的字体设置

Android系统自带有对字体的设置,这些设置是对字体的显示方式的设置,比如加粗,倾斜,下划线,字号等,但是对于字体本身,比如设置为楷体,隶书等貌似没有.Android系统只有一种默认的,如果需要修改字体,或者引用自己喜欢的字体,那么就需要自己设置或修改. 修改系统的字体可以下载修改字体的app即可,但是如果是对于开发者想在自己的app中使用具有自己个性的文字,可以按下面介绍的方法做(这里只是其中一种方法,相信,应该还有很多方法的) ·将自定义的字体所在的ttf文件copy到工程assets/f

Android(java)学习笔记163:Android开发时候颜色设置是bgr不是rgb

android颜色是bgr ,所以我们通常设置是rgb="#99ebe5"  ,在android设置为"#e5eb99" android:background ="#e5eb99" 

android开发通知常用设置方法

简单记录 通知上的设置方法,没有示例 //进度 通知 notificationManager = (NotificationManager) context.getSystemService(Context.NOTIFICATION_SERVICE); builder = new NotificationCompat.Builder(context); builder.setContentTitle("新版本")//显示的标题 .setContentText("正在下载...

Android应用文本字体设置

第一步:新建Android项目,在assets目录下新建一个folder,名字可以随意, 我这里命名为fonts 第二步:把字体文件拷贝到此新建的目录下(在windows系统中C:\Windows\Fonts目录下有很多字体文件) 第三步,在MainActivity下创建静态方法 //因为将字体文件读入内存是个很耗时的操作,如果字体文件比较大的话,会有 很明显的卡顿现象可以将Typeface 定义成为全局变量,然后可以加个判断,如 果typeface存在的话就直接调用,如果不存在的话,再创建,这

Android(java)学习笔记100:android开发中修改字体

首先如果android内部自带的字体不是我们需要的字体,那我们就需要字体文件导入到android开发工程中,下午我们详细讲述: 1.我们首先分析知道,我想要TextView控件中文字的字体是:华文楷体,我们发现这是android系统内部所不具备的,所以我们要自己导入楷体文件.ttf 我们把华文楷体的字体文件放到assets文件夹下,新建一个fonts文件夹存放DroidSansFallback.ttf文件,如上图: 然后就是在程序中如何调用这个字体: 1 protected void onCre