我从 url 获取图像并将其显示在 imageView 上。该功能运行正常。但我希望当我单击该图像时,它必须是全屏的。那么如何实现这个功能呢?我知道我错过了一些东西。请帮我。附有屏幕截图。我也希望我的应用程序具有相同的功能。
这是我的代码,我正在尝试单击图像:
@Override
public void onClick(View v) {
if (isTouch1) {
horizontalScrollView.setVisibility(View.GONE);
isTouch1 = false;
// mSystemUiHider.toggle();
setTheme(R.style.FullscreenTheme);
Log.d("Here isTouch is true", ">");
// ChangeThemeUtils.changeToTheme(FullScreenImageAdapter.this, ChangeThemeUtils.THEME_HIDE_ALL_WINDOW);
getSupportActionBar().hide();
} else {
isTouch1 = true;
horizontalScrollView.setVisibility(View.VISIBLE);
getSupportActionBar().show();
setTheme(R.style.ExampleTheme);
//mSystemUiHider.show();
Log.d("Here isTouch is false", ">");
}
}
您可以使用图像视图 https://developer.android.com/reference/android/widget/ImageView.html以下两个属性可根据您的要求显示图像:
android:调整ViewBounds https://developer.android.com/reference/android/widget/ImageView.html#attr_android:adjustViewBounds:如果您希望 ImageView 调整其边界以保留其可绘制的宽高比,请将此设置为 true。
-
android:scaleType https://developer.android.com/reference/android/widget/ImageView.html#attr_android:scaleType:控制如何调整图像大小或移动图像以匹配此 ImageView 的大小
<ImageView
android:id="@+id/imageView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:adjustViewBounds="true"
android:src="@drawable/ic_launcher"/>
以上两个属性可以使用 xml 或 java 代码。
由于您需要在运行时决定是否需要全屏显示图像,因此将在 java 代码中应用上述两个属性,如下所示:
public class MainActivity extends Activity {
ImageView imageView;
boolean isImageFitToScreen;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.imageView);
imageView.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(isImageFitToScreen) {
isImageFitToScreen=false;
imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.WRAP_CONTENT, LinearLayout.LayoutParams.WRAP_CONTENT));
imageView.setAdjustViewBounds(true);
}else{
isImageFitToScreen=true;
imageView.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
imageView.setScaleType(ImageView.ScaleType.FIT_XY);
}
}
});
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)