我知道这是可能的,但我似乎无法弄明白。我有一个Android应用程序,显示使用网格适配器,视图组和片段创建的正方形网格。当用户单击网格中的块时,它会显示包含其他相关信息的新片段。
当我单击第一个块时,我能够进行转换,但它只是翻转整个网格而不是使用新片段进行翻转转换。我还想问一下如何创建缩放过渡?
GridViewFragment - 以下是其中一个创建网格的文档的代码段。
@AfterViews
void AfterViews() {
context = getActivity().getBaseContext();
gridAdapter.setDataResponse(dashboard.resp);
gridview.setAdapter(gridAdapter);
gridview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
DashboardGridViewItem item = (DashboardGridViewItem) v;
flipCard(app.getGridInfo()[position], item.getImageJSON());
}
});
/*mGoogleApiClient.connect();*/
}
@UiThread(propagation = UiThread.Propagation.REUSE)
void flipCard(DataObject data, ResponseEntity<String> image) {
String fragmentType = data.getTitle();
dashboard.fragment = Fragment_.builder().build();
dashboard.fragment.setmData(data);
dashboard.fragment.setImageJSON(image);
FragmentManager fragmentManager = dashboard.getSupportFragmentManager();
transaction = fragmentManager.beginTransaction();
transaction.setCustomAnimations(R.anim.card_flip_left_in, R.anim.card_flip_left_out);
transaction.replace(dashboard.fragmentContainer.getId(), dashboard.summaryFragment);
transaction.addToBackStack(null);
transaction.commit();
.... (the rest of the function is just switch cases for different grid blocks, so it looks like what's pasted above)
这是在仪表板上声明片段容器的位置(可在上面的代码中访问)。
@ViewById
public FrameLayout fragmentContainer;
正如我上面提到的,问题是在单击块之后发生了转换,但它控制整个网格,然后在动画结束后显示新的片段。我希望动画发生在片段上。