在Android中,ImageView用于显示图片,ViewStub用于延迟加载布局。结合使用两者可以实现在需要时动态加载图片。
首先在布局文件中,可以将ViewStub和ImageView放在一起,例如:
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<ViewStub
android:id="@+id/view_stub"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inflatedId="@+id/image_layout"
android:layout="@layout/image_layout"/>
<ImageView
android:id="@+id/image_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:visibility="gone"/>
</LinearLayout>
然后在代码中,可以根据需要加载图片到ImageView中:
ViewStub viewStub = findViewById(R.id.view_stub);
ImageView imageView = findViewById(R.id.image_view);
// 判断是否需要加载图片,如果需要则加载
if (needLoadImage) {
// 加载图片到ImageView中
imageView.setImageResource(R.drawable.image);
imageView.setVisibility(View.VISIBLE);
} else {
// 显示ViewStub布局,用于延迟加载图片
viewStub.setLayoutResource(R.layout.image_layout);
View inflatedView = viewStub.inflate();
}
这样就可以根据需要动态加载图片到ImageView中,同时利用ViewStub实现延迟加载布局,避免不必要的资源消耗。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。