Facebook共享产品Android
我正在使用Android的Facebook共享产品。链接和照片共享正在运行。。现在我的目标是从应用程序及其所有小部件中获取框架布局,将其转换为位图,然后在Facebook上共享 我在Stack上找到了以下问题和答案,并开始与他们合作。 以下是我的代码:Facebook共享产品Android,android,facebook-graph-api,Android,Facebook Graph Api,我正在使用Android的Facebook共享产品。链接和照片共享正在运行。。现在我的目标是从应用程序及其所有小部件中获取框架布局,将其转换为位图,然后在Facebook上共享 我在Stack上找到了以下问题和答案,并开始与他们合作。 以下是我的代码: public class LoginActivity extends AppCompatActivity { //callbackmanager manages callbacks to facebook sdk privat
public class LoginActivity extends AppCompatActivity {
//callbackmanager manages callbacks to facebook sdk
private CallbackManager callbackManager;
private ShareButton framelayout_button;
private FrameLayout frameLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
//STILL NEED TO INCLUDE THE PERMISSIONS SOMEWHERE..
frameLayout = (FrameLayout) findViewById(R.id.framelayout_facebook);
Bitmap bitmap = Bitmap.createBitmap(frameLayout.getWidth(), frameLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
frameLayout.draw(canvas);
SharePhoto frame_photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.build();
SharePhotoContent framelayout_content = new SharePhotoContent.Builder()
.addPhoto(frame_photo)
.build();
framelayout_button = (ShareButton) findViewById(R.id.Sharebutton_FrameLayout);
framelayout_button.setShareContent(framelayout_content);
}
}
我的LogCat中出现以下错误:
java.lang.IllegalArgumentException: width and height must be > 0
布局文件中定义的“我的宽度”和“我的高度”都大于0,所以一定是其他地方出错了
有什么想法吗 出现错误是因为方法“createBitMap()”没有用于将布局的宽度和高度转换为位图的有效参数 我所做的是首先使用函数“measure()”测量布局,然后在函数“Layout()”中声明布局,然后才调用函数“createBitMap()”。下面的工作代码示例:
public class LoginActivity extends AppCompatActivity {
//callbackmanager manages callbacks to facebook sdk
private CallbackManager callbackManager;
private ShareButton framelayout_button;
private FrameLayout frameLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_login);
FacebookSdk.sdkInitialize(getApplicationContext());
callbackManager = CallbackManager.Factory.create();
//STILL NEED TO INCLUDE THE PERMISSIONS SOMEWHERE..
frameLayout = (FrameLayout) findViewById(R.id.framelayout_facebook);
frameLayout.measure(frameLayout.getWidth(), frameLayout.getHeight());
frameLayout.layout(0,0,frameLayout.getMeasuredWidth(),frameLayout.getMeasuredHeight());
Bitmap bitmap = Bitmap.createBitmap(frameLayout.getWidth(), frameLayout.getHeight(), Bitmap.Config.ARGB_8888);
Canvas canvas = new Canvas(bitmap);
frameLayout.draw(canvas);
SharePhoto frame_photo = new SharePhoto.Builder()
.setBitmap(bitmap)
.build();
SharePhotoContent framelayout_content = new SharePhotoContent.Builder()
.addPhoto(frame_photo)
.build();
framelayout_button = (ShareButton) findViewById(R.id.Sharebutton_FrameLayout);
framelayout_button.setShareContent(framelayout_content);
我找到了。。检查下面的代码。。