Android:自定义字体到文本视图。它弄乱了我的其他代码

时间:2016-10-06 10:38:13

标签: java android android-studio fonts android-typeface

我能够将Android Studio中新的新项目(只有一个活动和文本“hello world”)中的字体更改为Android Studio中不可用的唯一字体。它运作得很好。

但是当我按照完全相同的程序并在我现有的项目中使用完全相同的代码时,它也工作了但是它搞乱了我在活动中的其他java代码。

具体来说,活动按钮点击通过意图。单击该按钮不再打开新活动。

我删除了自定义字体的java代码,因为优先级是按钮意图工作。我是一个完全的业余爱好者,只在Android上开发了6周(没有先前的编码经验)。

下面你可以看到代码。您可以在下面看到我将代码放在新项目和现有项目中的完全相同的位置。我需要做什么才能获得自定义字体并让按钮意图在现有项目中工作?

FRESH PROJECT

package com.example.android.practice2;

import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.TextView;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Typeface myTypeFace = Typeface.createFromAsset (getAssets(),"font.ttf"); 
        TextView myTextview = (TextView)findViewById(R.id.textview99);
        myTextview.setTypeface(myTypeFace);

    }
}

现有项目:

我在哪里放置代码? 放置在现在的位置会创建自定义字体,但按钮意图会停止工作吗?

    package com.example.android.xxxxxx;

    import android.content.Intent;
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;

    public class MainActivity extends AppCompatActivity {
        /* Below for button to open new activity */
        private static Button button_sbm;


        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            OnClickButtonListener();
Typeface myTypeFace = Typeface.createFromAsset(getAssets(),"font.ttf");
        TextView myTextview = (TextView)findViewById(R.id.textview99);
        myTextview.setTypeface(myTypeFace);

        }

        /*  Opens 3rd Activity  */
        public void OnClickButtonListener() {
            button_sbm = (Button) findViewById(R.id.start);
            button_sbm.setOnClickListener(
                    new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {
                            Intent intent = new Intent("com.example.android.yes.FirstActivity");
                            startActivity(intent);
                        }
                    }
            );

        }



    }

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此代码..

public class MainActivity extends AppCompatActivity implements View.OnClickListener {

private Button button_sbm;
private TextView myTextview;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    button_sbm = (Button) findViewById(R.id.start);
    myTextview = (TextView) findViewById(R.id.textview99);

    Typeface myTypeFace = Typeface.createFromAsset(getAssets(), "font.ttf");
    myTextview.setTypeface(myTypeFace);
    button_sbm.setOnClickListener(this);
}

@Override
public void onClick(View view) {
    Toast.makeText(getApplicationContext(), "Click is Working", Toast.LENGTH_LONG).show();
    Intent intent = new Intent("com.example.android.yes.FirstActivity");
    startActivity(intent);
  }
}