在我的应用程序中,我使用名为PhotoView
的库以全屏显示图像(实际上是一项新活动)。示例图像在下面,所以我需要像这样显示文本。
我已发布XML代码,请查看下面的
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_view_full_screen_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context="com.example.theace.fullscreen.ViewFullScreenImage"
android:orientation="vertical">
<LinearLayout
android:id="@+id/li1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/photo_view"
android:layout_width="match_parent"
android:layout_centerInParent="true"
android:layout_height="match_parent"
android:layout_marginBottom="40dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="30dp"
android:layout_marginBottom="10dp"
android:textColor="@android:color/white"
android:id="@+id/tv1"/>
</LinearLayout>
</LinearLayout>
以下是我的相关Java代码
package com.example.theace.fullscreen;
import android.graphics.Color;
import android.net.Uri;
import android.support.v4.app.NavUtils;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MenuItem;
import android.view.Window;
import android.widget.LinearLayout;
import android.widget.RelativeLayout;
import android.widget.TextView;
import com.github.chrisbanes.photoview.PhotoView;
import com.squareup.picasso.Picasso;
public class ViewFullScreenImage extends AppCompatActivity {
RelativeLayout li1;
TextView textView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
supportRequestWindowFeature(Window.FEATURE_ACTION_BAR_OVERLAY);
this.requestWindowFeature(Window.FEATURE_NO_TITLE);
setContentView(R.layout.activity_view_full_screen_image);
li1 = (RelativeLayout) findViewById(R.id.activity_view_full_screen_image);
li1.setBackgroundColor(Color.BLACK);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
textView = (TextView)findViewById(R.id.tv1);
loadImage();
}
public void loadImage(){
Uri imageUrl = Uri.parse("https://s-media-cache-ak0.pinimg.com/736x/39/c7/64/39c764abd350c509f76c6362780a3a78--outdoor-portraits-outdoor-portrait-photography.jpg");
PhotoView photoView = (PhotoView) findViewById(R.id.photo_view);
Picasso.with(this).load(imageUrl).into(photoView);
textView.setText("Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec tristique nunc turpis, at congue est molestie a. Etiam nec cursus arcu. Curabitur vestibulum ligula vitae velit rutrum sollicitudin. Phasellus imperdiet ultrices semper. Morbi laoreet magna sit amet mi vulputate pharetra. Proin faucibus maximus massa, sit amet vestibulum elit posuere eget.");
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
我该如何解决这个问题?
答案 0 :(得分:1)
只需使用以下代码
即可<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_view_full_screen_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.theace.fullscreen.ViewFullScreenImage"
android:orientation="vertical">
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/photo_view"
android:layout_width="match_parent"
android:layout_centerInParent="true"
android:layout_height="match_parent"
android:scaleType="center"/>
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:layout_alignParentBottom="true"
android:textColor="@android:color/white"
android:layout_gravity="bottom|center_horizontal"
android:id="@+id/tv1"/>
</FrameLayout>
答案 1 :(得分:0)
尝试这样做 activity_view_full_screen.xml 就像这样
使用RelativeLayout
并将TextView
改为android:layout_alignParentBottom="true"
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/activity_view_full_screen_image"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<com.github.chrisbanes.photoview.PhotoView
android:id="@+id/photo_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:scaleType="fitXY"
android:layout_marginBottom="40dp"
android:src="@drawable/disha" />
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="10dp"
android:gravity="center"
android:padding="5dp"
android:layout_alignParentBottom="true"
android:background="#9a080808"
android:text="@string/abc"
android:textColor="@android:color/white" />
</RelativeLayout>