android安卓代码添加图片按钮
android安卓代码添加图片按钮
private static AppActivity app = null;
private static Button myButton = null;
private static ImageButton imgBtn = null;
private static FrameLayout gLayout = null;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
SDKWrapper.getInstance().init(this);
app = this;
gLayout = mFrameLayout;
}
函数 js调用:jsb.reflection.callStaticMethod("org/cocos2dx/javascript/AppActivity", "createAndBtn", "(Ljava/lang/String;)Ljava/lang/String;", 'zq');
public static String createAndBtn(final String msg){
app.runOnUiThread(new Runnable() {
@Override
public void run() {
if(imgBtn != null){
return;
}
imgBtn = new ImageButton(app);
RelativeLayout.LayoutParams btnAddParam = new RelativeLayout.LayoutParams(80, 80);
btnAddParam.leftMargin = gLayout.getWidth() -80-30;
btnAddParam.topMargin = 30;
imgBtn.setLayoutParams(btnAddParam);
//得到该图片的id(name backbtn是该图片的名字,"drawable" 是该图片存放的目录,appInfo.packageName是包名)
int resId = app.getResources().getIdentifier("backbtn","drawable", app.getPackageName());
Log.v("---a","resId"+resId);
// Uri uri = Uri.parse("res:///"+resId);
imgBtn.setBackgroundResource(resId);
imgBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.v("---a","imgBtn click");
gLayout.removeView(imgBtn);
imgBtn = null;
}
});
gLayout.addView(imgBtn, btnAddParam);
myButton = new Button(app);
myButton.setText("OK");
RelativeLayout.LayoutParams btParams = new RelativeLayout.LayoutParams(150, 60);
btParams.leftMargin = 60;
btParams.topMargin = 100;
gLayout.addView(myButton, btParams);
myButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Log.v("---a","btn click");
}
});
}
});
return "";
}
获取在android项目的res文件夹下面的图片
//得到application对象
ApplicationInfo appInfo = getApplicationInfo();
//得到该图片的id(name 是该图片的名字,"drawable" 是该图片存放的目录,appInfo.packageName是包名)
int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);
//代码如下
public Bitmap getRes(String name) {
ApplicationInfo appInfo = getApplicationInfo();
int resID = getResources().getIdentifier(name, "drawable", appInfo.packageName);
return BitmapFactory.decodeResource(getResources(), resID);
}