我是java的新手,实际上正在开发一个游戏应用程序,我想添加一个可以改变游戏语言的功能.
我已经制作了2个strings.xml.一个是默认(英文),另一个是翻译版本(fil)
这是我的代码
import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.Toast; public class LanguageActivity extends Activity { private static Button button_fil; private static Button button_eng; public void onButtonClickListener() { button_fil = (Button) findViewById(R.id.btnFilipino); button_fil.setOnClickListener( new View.OnClickListener() {@ Override public void onClick(View v) { Toast.makeText(LanguageActivity.this, "Filipino Language", Toast.LENGTH_SHORT).show(); } } ); button_eng = (Button) findViewById(R.id.btnEnglish); button_eng.setOnClickListener( new View.OnClickListener() {@ Override public void onClick(View v) { Toast.makeText(LanguageActivity.this, "English Language", Toast.LENGTH_SHORT).show(); } } ); } public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.language); onButtonClickListener(); }
非常感谢!
请试试这个例子.也许它会帮助你.在这里,我使用微调器来选择语言.
在你的活动中
import java.util.Locale; import android.os.Bundle; import android.app.Activity; import android.content.Intent; import android.content.res.Configuration; import android.content.res.Resources; import android.util.DisplayMetrics; import android.view.View; import android.widget.AdapterView; import android.widget.Button; import android.widget.Spinner; import android.widget.Toast; import android.widget.AdapterView.OnItemSelectedListener; public class AndroidLocalize extends Activity { Spinner spinnerctrl; Button btn; Locale myLocale; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); spinnerctrl = (Spinner) findViewById(R.id.spinner1); spinnerctrl.setOnItemSelectedListener(new OnItemSelectedListener() { public void onItemSelected(AdapterView> parent, View view, int pos, long id) { if (pos == 1) { Toast.makeText(parent.getContext(), "You have selected Tamil", Toast.LENGTH_SHORT) .show(); setLocale("ta"); } else if (pos == 2) { Toast.makeText(parent.getContext(), "You have selected Hindi", Toast.LENGTH_SHORT) .show(); setLocale("hi"); } else if (pos == 3) { Toast.makeText(parent.getContext(), "You have selected English", Toast.LENGTH_SHORT) .show(); setLocale("en"); } } public void onNothingSelected(AdapterView> arg0) { // TODO Auto-generated method stub } }); } public void setLocale(String lang) { myLocale = new Locale(lang); Resources res = getResources(); DisplayMetrics dm = res.getDisplayMetrics(); Configuration conf = res.getConfiguration(); conf.locale = myLocale; res.updateConfiguration(conf, dm); Intent refresh = new Intent(this, AndroidLocalize.class); startActivity(refresh); } }
在你的XML中
并在您的res中创建文件夹
然后为你的语言添加strings.xml
Androidlocalization Hello world! AndroidLocalize ???? ???? !! ??? ???? ??? ?? ???? ?? ??????? ???? ????? ??? ?? ??? ????!!!! Choose the language - Select language
- ?????
- ?????
- English
请更新您的清单,我希望这将解决您的问题..
像这样更新.