我要做的就是将存储在 sdcard 上的图像放入片段内的 ImageView 中。
我将本教程用于导航抽屉布局: https ://developer.android.com/training/implementing-navigation/nav-drawer.html
而这个用于更深入的实施: https ://www.swipetips.com/implementing-actionbarsherlock-side-menu-navigation-drawer-in-android/
这是fragment1.xml:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ImageView
android:id="@+id/workingimageview"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"/>
<!--
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:text="@string/Fragment1"
android:id="@+id/textview1" />
-->
</RelativeLayout>
这是包含内容和抽屉导航的 xml:
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<!-- The main content view -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- Slideout Menü -->
<ListView
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:choiceMode="singleChoice"
android:divider="@android:color/transparent"
android:dividerHeight="0dp"
android:background="#111" />
</android.support.v4.widget.DrawerLayout>
这是片段 onCreateView 源代码:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState)
{
View rootView = inflater.inflate(R.layout.fragment1, container, false);
/** Load temporary image */
/** Check if folder exists first */
if(checkForWorkingDirectory())
{
workingImageView = (ImageView)
rootView.findViewById(R.id.workingimageview);
workingImageView.setImageBitmap(scaleImage.decodeSampledBitmapFromResource(returnAbsoluteFilePath(),100,100));
}
return rootView;
//return inflater.inflate(R.layout.fragment1, null);
}
checkForWorkingDirectory() 基本上是查找图像所在的目录,然后 returnAbsoluteFilePath() 说明一切:)
ImageView 根本不显示。但是,如果我注释掉 ImageView 并只显示 TextView,则文本显示得很好。
我也试过这个,因为当我加载图像时,我不知道 ImageView 的尺寸: http: //adanware.blogspot.de/2012/06/android-getting-measuring-fragment.html
根据教程,我使用了在片段内显示 ImageView 的最佳和正确方法是什么?