別のフラグメントに埋め込まれたimageviewを表示するためにlistfragmentを作成しました。リストの項目を選択することにより、異なる解像度の異なる画像が表示されます。でも同じサイズで見せたいので、こうやってやりました。ただし、画像と解像度が異なると、サイズも異なります。
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/myImageView"
android:layout_width="200dp"
android:layout_height="200dp"
android:scaleType="fitXY"
android:contentDescription="@string/description"
android:background="#FFF"
android:padding="10dp"
>
</ImageView>
<LinearLayout 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" >
<fragment android:name="com.example.showdognames.DogImageFragment"
android:id="@+id/DogImageFragment"
android:layout_weight="wrap_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
<fragment android:name="com.example.showdognames.DognameFragment"
android:id="@+id/DognameFragment"
android:layout_weight="wrap_content"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
public class DogImageFragment extends Fragment {
Integer[] imageList = new Integer[] { R.drawable.alaskan_malamute,
R.drawable.beagle, R.drawable.border_terrier, R.drawable.dashshund,
R.drawable.finnish_spitz, R.drawable.greyhound,
R.drawable.portuguese_water_dog, R.drawable.rottweiler };
private ImageView myView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
myView = (ImageView) inflater.inflate(R.layout.dog_image_fragment,
container, false);
myView.setLayoutParams(new LinearLayout.LayoutParams(200,200));
return myView;
}
// method setImageResource is used to bound image reference array and
// imageView
public void update(int position) {
if (myView != null) {
myView.setImageResource(imageList[position]);
}
}
}