gpt4 book ai didi

android - 如何在点击时以编程方式使 ImageView 全屏显示?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:03:11 25 4
gpt4 key购买 nike

这是我正在尝试做的。我有 4 张图片,它们在一个 LinearLayout 中,而 LinearLayoutRelativeLayout 的子项。我已经成功实现了 onClickListener。也许我的问题有点不同,但一切都是相关的。

我不知道如何将图像扩展到全屏,因为图像在一个 LinearLayout 中,它在那个 RelativeLayout 中,也许当我显示时一切都会清楚你们这些 xml 代码。

我想让 ImageView 在点击时全屏显示,并且在我点击后退按钮时能够返回。为此,我可能需要使用 onBackPressed

图像在底部。

这是xml代码:

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>

<ScrollView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentTop="true"
android:background="@drawable/url"
android:fillViewport="true"
android:orientation="vertical"
android:paddingBottom="5dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="5dp"
android:scrollbars="none" >

<RelativeLayout
android:id="@+id/relativeLayout"
android:layout_width="match_parent"
android:layout_height="match_parent" >

<!-- Thumbnail Image -->

<com.dusandimitrijevic.modification.TouchImageView
android:id="@+id/thumbnail"
android:layout_width="140dp"
android:layout_height="220dp"
android:layout_alignParentLeft="true"
android:layout_marginRight="8dp"
android:src="@drawable/ic_horor_filmovi_ikonica" />

<!-- Naslov Filma -->
<TextView
android:id="@+id/naslov"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:textColor="#7F0000"
android:textSize="@dimen/title_movie"
android:layout_toRightOf="@id/thumbnail"
android:layout_toEndOf="@+id/thumbnail" >

</TextView>
<!-- Godina izdanja Filma -->
<TextView
android:id="@+id/releaseYear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/naslov"
android:layout_alignStart="@+id/naslov"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_below="@+id/naslov"
android:layout_marginTop="3dp"
android:textColor="@color/dark_red" />

<ImageView
android:id="@+id/rating_star"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/thumbnail"
android:layout_marginBottom="42dp"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"
android:src="@drawable/ic_actions_rating_icon" />

<Button
android:id="@+id/url_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/thumbnail"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:layout_toRightOf="@+id/thumbnail"
android:layout_toEndOf="@+id/thumbnail"
style="@style/UrlDugme" />

<TextView
android:id="@+id/rating"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/rating_star"
android:layout_alignTop="@+id/rating_star"
android:layout_toRightOf="@+id/rating_star"
android:layout_toEndOf="@+id/rating_star"
android:gravity="center"
android:textColor="@color/dark_red"
android:textSize="@dimen/rating" />

<!-- Opis Filma -->
<RelativeLayout
android:id="@+id/relativeLayout1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_alignParentLeft="true"
android:layout_below="@+id/thumbnail"
android:layout_marginTop="14dp"
android:background="@drawable/layout_round_rect_shape" >

<TextView
android:id="@+id/description"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="18dp"
android:layout_marginTop="16dp"
android:scrollbars="vertical"
android:textColor="@color/dark_red"
android:textSize="18sp" />
</RelativeLayout>
<!-- Opis Filma Zavrsetak -->


<!-- Glumci -->
<RelativeLayout
android:id="@+id/relativeLayout2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_below="@+id/relativeLayout1"
android:layout_marginTop="12dp"
android:background="@drawable/layout_round_rect_shape"
android:orientation="vertical" >

<LinearLayout
android:id="@+id/linearLayoutActors"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<com.android.volley.toolbox.NetworkImageView
android:id="@+id/Image1"
android:layout_width="40dp"
android:layout_height="140dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />

<com.android.volley.toolbox.NetworkImageView
android:id="@+id/Image2"
android:layout_width="40dp"
android:layout_height="140dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />

<com.android.volley.toolbox.NetworkImageView
android:id="@+id/Image3"
android:layout_width="40dp"
android:layout_height="140dp"
android:layout_gravity="center_horizontal"
android:layout_marginTop="16dp"
android:layout_weight="1"
android:scaleType="fitCenter"
android:src="@drawable/ic_horor_filmovi_ikonica" />
</LinearLayout>

<LinearLayout
android:id="@+id/linearLayoutTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/linearLayoutActors"
android:orientation="horizontal" >

<TextView
android:id="@+id/ime1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime"
android:textColor="#7F0000"
android:textSize="16sp" />

<TextView
android:id="@+id/ime2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime"
android:textColor="#7F0000"
android:textSize="16sp" />

<TextView
android:id="@+id/ime3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center"
android:text="Ime"
android:textColor="#7F0000"
android:textSize="16sp" />
</LinearLayout>
</RelativeLayout>
<!-- Glumci -->

<!-- IMAGES I WANT TO MAKE FULLSCREEN ON CLICK -->
<LinearLayout
android:layout_marginTop="12dp"
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:background="@drawable/layout_round_rect_shape"
android:id="@+id/linearLayoutImages"
android:layout_below="@+id/relativeLayout2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

<com.dusandimitrijevic.modification.TouchImageView
android:id="@+id/image1"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="115dp"
android:layout_height="150dp"
android:src="@drawable/ic_horor_filmovi_ikonica" >
</com.dusandimitrijevic.modification.TouchImageView>

<com.dusandimitrijevic.modification.TouchImageView
android:id="@+id/image2"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="115dp"
android:layout_height="150dp"
android:src="@drawable/ic_horor_filmovi_ikonica" >
</com.dusandimitrijevic.modification.TouchImageView>

<com.dusandimitrijevic.modification.TouchImageView
android:id="@+id/image3"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="115dp"
android:layout_height="150dp"
android:src="@drawable/ic_horor_filmovi_ikonica" >
</com.dusandimitrijevic.modification.TouchImageView>

<com.dusandimitrijevic.modification.TouchImageView
android:id="@+id/image4"
android:adjustViewBounds="true"
android:layout_weight="1"
android:layout_width="115dp"
android:layout_height="150dp"
android:src="@drawable/ic_horor_filmovi_ikonica" >
</com.dusandimitrijevic.modification.TouchImageView>

</LinearLayout>
<!-- IMAGES I WANT TO MAKE FULLSCREEN ON CLICK -->

</RelativeLayout>

</ScrollView>

</RelativeLayout>

这里是 onClickListener:

image1.setOnClickListener(new View.OnClickListener() {

@Override
public void onClick(View v) {
int px = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 115, getResources().getDisplayMetrics());
int px1 = (int) TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_SP, 150, getResources().getDisplayMetrics());
LinearLayout.LayoutParams p = new LinearLayout.
LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.WRAP_CONTENT);
p.weight = 1;
if(isImageFitToScreen) {
image1.setMinimumWidth(px);
image1.setMinimumHeight(px1);
image1.setAdjustViewBounds(true);
isImageFitToScreen=false;
}else{
image1.setLayoutParams(new LinearLayout.LayoutParams(LinearLayout.LayoutParams.MATCH_PARENT, LinearLayout.LayoutParams.MATCH_PARENT));
image1.setScaleType(ImageView.ScaleType.FIT_XY);
isImageFitToScreen=true;
}
}
});

最佳答案

为了提供 Ben 的答案的替代方案并充实我之前的评论,一种可能是在 xml 中创建一个占据整个屏幕的 ImageView,它的可见性设置为 gone。按下按钮时,将图像加载到此 ImageView 中,然后再次按下按钮时将可见性设置为 gone

<RelativeLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
xmlns:android="http://schemas.android.com/apk/res/android"
>

<ScrollView>
<!-- Everything else! -->
</ScrollView>

<ImageView
android:id="@+id/full_screen_container"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:visibility="gone" />

</RelativeLayout>

在您的 ActivityonCreate() 方法中:

@Override
public void onCreate(Bundle mySavedInstances) {
ImageView fullScreenContainer = (ImageView) findViewById(R.id.full_screen_container);

image1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//However it is you load your images
fullScreenContainer.setImageDrawawble(R.drawable.example);
fullScreenContainer.setVisibility(View.VISIBLE);
}
});
}

@Override
public void onBackPressed() {
if (fullScreenContainer.getVisibility() == View.VISIBLE) {
fullScreenContainer.setImageDrawable(null);
fullScreenContainer.setVisibility(View.GONE);
} else {
super.onBackPressed();
}
}

关于android - 如何在点击时以编程方式使 ImageView 全屏显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32054340/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com