کلیدستان

نسخه‌ی کامل: مشکل در تغییر فونت برنامه اندروید
شما در حال مشاهده نسخه آرشیو هستید. برای مشاهده نسخه کامل کلیک کنید.
سلام من طبق کلید 834 خواستم فونت برناممو عوض کنم ولی اون کدی که ذکر شه رو وقتی در اکتیویتی مورد نظر مینویسم خطا میگیره از این خط: 

کد پی‌اچ‌پی:
tv.setTypeface(tf); 

زیر نقطه و tf خط قرمز میاد و میگه :

کد پی‌اچ‌پی:
Multiple markers at this line
    
Syntax error on token(s), misplaced construct(s)
    - 
Syntax errorinsert "... VariableDeclaratorId" to complete 
     FormalParameterList 

و یه سوال دیگه داشتم 
اینکه آیا راهی وجود داره که کل نوشته های برنامه فونتش عوض شه یعنی مجبور نباشیم هی این کد هارو ذکر کنیم
با تشکر
سلام.
1- در مورد خطا، کل کدهای Activity را ذکر کنید.

2- به جای اینکه هر بار با کدهای java ، ویژگی های مورد نظرتان را برای TextView های برنامه اندروید تعیین کنید (مثل نوع فونت، اندازه فونت، رنگ فونت و ...)، می توانید یک عنصر سفارشی بر اساس توسعه (extend) عنصر TextView (یا در واقع توسعه کلاس TextView) ساخته و سپس به جای درج تگ TextView در فایل های xml ، تگ مربوط به آن عنصر سفارشی را ذکر کنید. یک مثال از ساخت عنصر سفارشی بر اساس عنصر TextView و چگونگی به کار بردن آن، در کلید زیر موجود است :

کلید شماره 823

یه اکتیوتی ساده ست 

کد پی‌اچ‌پی:
package com.example.fortest;

import com.develox.iliya.R;

import android.app.Activity;
import android.graphics.Typeface;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

public class 
MainActivity extends Activity {

    @
Override
    
protected void onCreate(Bundle savedInstanceState) {
        
super.onCreate(savedInstanceState);
        
setContentView(R.layout.activity_main);
    }
    
    
TextView tv = (TextViewfindViewById(R.id.textView1);
    
Typeface tf Typeface.createFromAsset(getAssets(),"fonts/dast_nevis.ttf"); 
    
tv.setTypeface(tf);

    @
Override
    
public boolean onCreateOptionsMenu(Menu menu) {
        
// Inflate the menu; this adds items to the action bar if it is present.
        
getMenuInflater().inflate(R.menu.mainmenu);
        return 
true;
    }

    @
Override
    
public boolean onOptionsItemSelected(MenuItem item) {
        
// Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        
int id item.getItemId();
        if (
id == R.id.action_settings) {
            return 
true;
        }
        return 
super.onOptionsItemSelected(item);
    }

سلام.
این بخش از کدها باید در روش onCreate نوشته شود (شما آن را بیرون نوشته اید) :

کد پی‌اچ‌پی:
TextView tv = (TextViewfindViewById(R.id.textView1);
Typeface tf Typeface.createFromAsset(getAssets(),"fonts/dast_nevis.ttf"); 
tv.setTypeface(tf); 

خیلی ممنون درست شد.