sta*_*bit 6 android android-intent android-view android-viewpager mupdf
在我现有的Android应用程序中,我使用MuPDF,我在这个文档的帮助下移植. 现在,当我想在活动中打开pdf文件时,我使用:Uri uri = Uri.parse(path);
Intent intent = new Intent(this, MuPDFActivity.class);
intent.setAction(Intent.ACTION_VIEW);
intent.setData(uri);
startActivity(intent);
Run Code Online (Sandbox Code Playgroud)
这是一个新的活动,我的问题是:(1)我怎样才能开始片段查看pdf?(2)MuPDF是否支持我可以在我的currant Android-Tab-View下调用的片段?(3)有没有办法将此活动转换为片段?
目前我在做:
public class DummySectionFragment extends Fragment {
public DummySectionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.activity_dummy_section_fragment, container, false);
Intent myIntent = new Intent(getActivity(), MuPDFActivity.class);
myIntent.setAction(Intent.ACTION_VIEW);
myIntent.setData(uri);
getActivity().startActivity(myIntent);
return rootView;
}
}
Run Code Online (Sandbox Code Playgroud)
其中:在我当前的选项卡视图布局上打开一个新活动,这看起来不太好,因为它涵盖整个选项卡布局,用户必须单击BACK按钮才能查看选项卡视图.
也许您不应该在项目中使用 MuPDFActivity - 它只是 Mupdf 工作原理的一个示例。您所需要的只是 MuPDFReaderView/MuPDFCore/MuPDFPageAdapter。MuPDFReaderView 扩展自 View/ViewGroup,因此您只需将其添加到布局中即可。像这样尝试(完全未经测试!!):
1.) XML --> 片段的基本布局 (mupdf_wrapper.xml):
<RelativeLayout
android:id="@+id/mupdf_wrapper"
android:layout_width="match_parent"
android:layout_height="wrap_content">
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
2.) JAVA:
public class DummySectionFragment extends Fragment {
public DummySectionFragment() {
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View rootView = null;
rootView = inflater.inflate(R.layout.mupdf_wrapper, container, false);
RelativeLayout mupdfWrapper (RelativeLayout)rootView.findViewById(R.id.mupdf_wrapper);
String path = "path/To/Your/PDF/File.pdf";
MuPDFCore core = new MuPDFCore(getActivity(), path);
MuPDFReaderView mDocView = new MuPDFReaderView(getActivity());
mDocView.setAdapter(new MuPDFPageAdapter(getActivity(), getActivity(), core));
mupdfWrapper .addView(mDocView, new LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.WRAP_CONTENT));
return rootView;
}
Run Code Online (Sandbox Code Playgroud)
}
| 归档时间: |
|
| 查看次数: |
1977 次 |
| 最近记录: |