libgdx中的LikeView(android视图)

时间:2015-01-26 13:08:19

标签: java android facebook libgdx

我试图在我的应用中放置一个Like按钮。经过多次搜索,我发现不可能使用我自己的自定义按钮,所以我只留下从facebook sdk实现默认的按钮。 由于这个LikeView似乎是一个原生的android视图,我真的不知道如何把它放到我的libGDX应用程序中。

我想仅在特定的屏幕中使用此按钮并设置其界限,以使其适合我的其余UI。有没有人有一个如何在不使用XML的情况下创建这个按钮的示例(就像我到目前为止找到的所有文档中所做的那样)。

1 个答案:

答案 0 :(得分:2)

将以下功能添加到我的应用程序使其显示在正确的位置。不幸的是,LikeView没有得到正确的尺寸,但是在视图中居中,这意味着改变宽度/高度只是移动它。

public void GenerateLikeButton()
{
    application.runOnUiThread(new Runnable(){

        @Override
        public void run() {

            float x = 560 * game.global_scale;
            int width = (int) (440 * game.global_scale);
            int height = (int) (152* game.global_scale);
            float y_from_bottom = game.screen_height - ((56+152+70) * game.global_scale + game.ad_height);
            Gdx.app.log("like", "from bottom: "+ y_from_bottom);

            likeButton = new LikeView(application);
            likeButton.setLikeViewStyle(LikeView.Style.BUTTON);
            likeButton.setX(x);
            likeButton.setY(y_from_bottom-height);  

            likeButton.setObjectId(LIKE_URL);
            likeButton.setVisibility(View.GONE);
            application.layout.addView(likeButton,width,height);
            likeButton.invalidate();
        }
    });

}

@Override
public void ShowLikeButton(final boolean visible)
{
    application.runOnUiThread(new Runnable()
    {
        @Override
        public void run() 
        {
            if(visible)
                likeButton.setVisibility(View.VISIBLE);
            else
                likeButton.setVisibility(View.GONE);
        }
    });
}