Unity调用安卓代码创建按钮

17 篇文章 0 订阅
12 篇文章 0 订阅

http://forum.china.unity3d.com/thread-4099-1-1.html


WindowManager.LayoutParams lp = new WindowManager.LayoutParams();
UnityPlayer.currentActivity.runOnUiThread(new Runnable() {
    @Override
    public void run() {
        lp.gravity = Gravity.TOP;
        lp.flags = WindowManager.LayoutParams.FLAG_NOT_FOCUSABLE;
        lp.width = 200;
        lp.height = 100;
        Button btn = new Button(mContext);
        btn.setText("test");
        UnityPlayer.currentActivity.getWindowManager().addView(btn, lp);
        btn.setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {
                Toast.makeText(mContext, "This is a test!!!",Toast.LENGTH_SHORT).}
            });
        }
    });
}

http://blog.csdn.net/bfboys/article/details/52563089

UnityPlayer.currentActivity.runOnUiThread(new Runnable() {  
    @Override  
    public void run() {  
        FrameLayout.LayoutParams lp = new FrameLayout.LayoutParams (FrameLayout.LayoutParams.WRAP_CONTENT, FrameLayout.LayoutParams.WRAP_CONTENT);    
        lp.gravity = Gravity.LEFT|Gravity.TOP;//让x,y参数生效
        lp.width = nWidth;
        lp.height = nHeight;
        lp.leftMargin = nX;
        lp.topMargin = nY;
        Button btn = new Button(mainActivity);
        btn.setText(strBtnTxt);
        fl.addView(btn,lp);
        btn.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                        UnityPlayer.UnitySendMessage( xxx );
                }
        });
    }  
});


protected void onCreate(Bundle savedInstanceState) {
    mainActivity = this;
    super.onCreate(savedInstanceState);
 
    FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(FrameLayout.LayoutParams.MATCH_PARENT,FrameLayout.LayoutParams.MATCH_PARENT);    
    fl = new FrameLayout(this);
    addContentView(fl, params);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值