android 语言国际化 + 点击按钮出现menu + 点击menu出现dialog对话框 + radiobutton 点击事件
来源:互联网 发布:linux怎么运行sh脚本 编辑:程序博客网 时间:2024/04/19 10:28
//*************************************************activity**********************************************
package com.example.language;
import java.util.Locale;
import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.res.Configuration;
import android.content.res.Resources;
import android.util.DisplayMetrics;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageButton;
import android.widget.RadioButton;
import android.widget.RadioGroup;
import android.widget.Toast;
import android.widget.RadioGroup.OnCheckedChangeListener;
public class MainActivity extends Activity {
RadioGroup language;
RadioButton englishButton,heButton2;
ImageButton imageButton ;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
language=(RadioGroup) findViewById(R.id.languagechange);
englishButton=(RadioButton)findViewById(R.id.englishButton);
heButton2=(RadioButton)findViewById(R.id.heButton2);
imageButton=(ImageButton)findViewById(R.id.imagebutton);
//show();
imageButton.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
openOptionsMenu();
}
});
//heButton2.setChecked(true);
language.setOnCheckedChangeListener(new OnCheckedChangeListener() {
@Override
public void onCheckedChanged(RadioGroup group, int checkedId) {
switch (checkedId) {
case R.id.englishButton:
changeLanguage(MainActivity.this,"English");
((Activity)MainActivity.this).finish();
Intent intent=new Intent(MainActivity.this,MainActivity.class);
MainActivity.this.startActivity(intent);
break;
case R.id.heButton2:
changeLanguage(MainActivity.this,"Hebrew");
((Activity)MainActivity.this).finish();
Intent intent2=new Intent(MainActivity.this,MainActivity.class);
MainActivity.this.startActivity(intent2);
break;
default:
break;
}
}
});
}
public void openOptionsMenu() {
super.openOptionsMenu();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
super.onCreateOptionsMenu(menu);
int group1 = 1;
int gourp2 = 2;
menu.add(group1, 1, 1, "English");
menu.add(group1, 2, 2, "Hebrew");
return true;
}
CharSequence items[] ={"1","2"};
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case 1: // do something here
Log.i("MenuTest:", "ItemSelected:1");
AlertDialog builder = new AlertDialog.Builder(this)
.setTitle("language")
.setIcon(R.drawable.menu)
.setItems(items, new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
Toast.makeText(MainActivity.this, String.valueOf(which), 0).show();
}
}).setPositiveButton("Ok", null).setNegativeButton("Cancle", null).show();
break;
case 2: // do something here
Log.i("MenuTest:", "ItemSelected:2");
break;
default:
return super.onOptionsItemSelected(item);
}
return true;
}
public void changeLanguage(Context context,String language) {
Resources resources = context.getResources();// get res
Configuration config = resources.getConfiguration();// set confis
DisplayMetrics dm = resources.getDisplayMetrics();// get screen config
if (language.equalsIgnoreCase("English"))
config.locale = Locale.ENGLISH;
else if (language.equalsIgnoreCase("Hebrew"))
config.locale = new Locale("iw_IL");
resources.updateConfiguration(config, dm);
}
public void show(){
Locale[] locals = Locale.getAvailableLocales();
for(Locale l:locals){
Log.i("ivan zhang yifan ", l.getDisplayCountry() + " "+ l.getDisplayLanguage() + " " + l.getDisplayName() + " "+ l.toString());
}
// for (int i = 0; i < locals.length; i++) {
// if (SharedPfUtil.getValue(
// WelcomeActivity.this.getApplicationContext(), "locale")
// .equals(locals[i].getLanguage())) {
// config.locale = locals[i];
// }
// }
}
}
//*****************************************************xml布局文件**********************************************
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:id="@+id/textview"
android:layout_centerHorizontal="true"
/>
<ImageButton
android:id="@+id/imagebutton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/menu"
android:layout_alignParentRight="true"/>
</RelativeLayout>
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/languagechange">
<RadioButton
android:id="@+id/englishButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="English" />
<RadioButton
android:id="@+id/heButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hebrew" />
</RadioGroup>
</LinearLayout>
//********************************************语言国际化要添加value文件夹*****************************
这是英文和希伯来文的strings文件
- android 语言国际化 + 点击按钮出现menu + 点击menu出现dialog对话框 + radiobutton 点击事件
- Android Dialog点击按钮不关闭对话框
- 拦截MENU按钮点击事件,让他无任何操作
- android RadioButton 点击时候出现点击声音的效果
- 点击按钮出现新窗口
- android中捕捉menu按键的点击事件
- Android点击MENU弹出的退出按钮退出系统方法及拦截MENU弹出菜单方法
- android 按钮点击事件
- Android按钮点击事件
- Android按钮点击事件
- android Dialog的确定按钮点击后不取消对话框
- android Dialog的确定按钮点击后不取消对话框
- Android Alert Dialog点击按钮对话框不关闭
- Android点击菜单键(menu)弹出popWindow
- Android 基础控件学习--Menu点击跳转
- Android toolbar menu 字体点击样式
- button点击出现确认对话框
- 完成点击×出现对话框功能
- Android底部菜单栏(用TabHost一次性加载耗内存)
- 计算程序运行时间的函数clock()
- 【SQL Server DBA】日常巡检1:数据库空间、状态、使用的监控
- 笔记2(字符串翻转)
- OCP-1Z0-053-V13.02-445题
- android 语言国际化 + 点击按钮出现menu + 点击menu出现dialog对话框 + radiobutton 点击事件
- zeromq
- xml、properties配置文件的读取
- 分治法,循环赛日程表
- jquery学习心得,常用的操作
- android JNI学习六
- cocos2dx-jsb 跨语言调用
- notepad++6.5中文绿色汉化版下载
- PB9核心之——数据窗口对象使用