我制作了一个 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]);
}
}
}