Как отобразить текст на `PhotoView`?
В моем приложении я показываю изображение в полноэкранном режиме (что на самом деле является новым видом деятельности), используя библиотеку под названием 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);
}
}
}
Как я могу это исправить?
2 ответа
Решение
Просто используйте приведенный ниже код
<?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>
Попробуйте это сделать ваш 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>