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);
}

标签: none

添加新评论