1

フルスクリーンで画像を表示したときにFacebookアプリで表示されるのと同様の結果を得るにはどうすればよいですか?(添付画像を参照

マルチタッチズーム機能には、ChrisBanesのPhotoViewライブラリを利用しています。

しかし、私はそれを機能させるのに苦労しています。

私のXML:

<?xml version="1.0" encoding="utf-8"?>
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/llMainContainer"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#000000"
    android:orientation="vertical" >

    <FrameLayout
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:layout_gravity="center" >

        <ImageView
            android:id="@+id/imgvwImage"
            android:layout_width="fill_parent"
            android:layout_height="fill_parent"
            android:layout_gravity="center"
            android:scaleType="fitXY" >
        </ImageView>

        <LinearLayout
            android:id="@+id/linlaCaption"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="top|center"
            android:layout_margin="4.0dip"
            android:gravity="center"
            android:orientation="horizontal" >

            <TextView
                android:id="@+id/txtPhotoCaption"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text="CAPTION"
                android:textColor="#fff1f1f1"
                android:textSize="16.0sp"
                android:textStyle="bold" >
            </TextView>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/linlaLikesAndComments"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="bottom|center"
            android:gravity="center"
            android:orientation="horizontal" >

            <LinearLayout
                android:id="@+id/linlaLikes"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:orientation="horizontal" >

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="2.0dip"
                    android:orientation="horizontal" >

                    <ImageButton
                        android:id="@+id/imgbtnLike"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@null"
                        android:gravity="center"
                        android:orientation="vertical"
                        android:src="@drawable/photo_viewer_like" >
                    </ImageButton>
                </LinearLayout>

                <LinearLayout
                    android:id="@+id/linlaShowLikes"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="right|center"
                    android:layout_margin="2.0dip"
                    android:layout_weight="1.0"
                    android:orientation="horizontal"
                    android:padding="5.0dip" >

                    <TextView
                        android:id="@+id/txtLikesTotal"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:gravity="left|center"
                        android:text="20 LIKES"
                        android:textColor="#fff1f1f1"
                        android:textSize="12.0sp"
                        android:textStyle="bold" >
                    </TextView>
                </LinearLayout>
            </LinearLayout>

            <LinearLayout
                android:id="@+id/linlaComments"
                android:layout_width="fill_parent"
                android:layout_height="wrap_content"
                android:layout_weight="1.0"
                android:orientation="horizontal" >

                <LinearLayout
                    android:id="@+id/linlaShowComments"
                    android:layout_width="fill_parent"
                    android:layout_height="fill_parent"
                    android:layout_gravity="right|center"
                    android:layout_margin="2.0dip"
                    android:layout_weight="1.0"
                    android:orientation="horizontal"
                    android:padding="5.0dip" >

                    <TextView
                        android:id="@+id/txtCommentsTotal"
                        android:layout_width="fill_parent"
                        android:layout_height="fill_parent"
                        android:gravity="right|center"
                        android:text="20 COMMENTS"
                        android:textColor="#fff1f1f1"
                        android:textSize="12.0sp"
                        android:textStyle="bold" >
                    </TextView>
                </LinearLayout>

                <LinearLayout
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_margin="2.0dip"
                    android:orientation="horizontal" >

                    <ImageButton
                        android:id="@+id/imgbtnComment"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:background="@null"
                        android:gravity="center"
                        android:orientation="vertical"
                        android:src="@drawable/photo_viewer_comment" >
                    </ImageButton>
                </LinearLayout>
            </LinearLayout>
        </LinearLayout>
    </FrameLayout>

</FrameLayout>

そして、クリック時に可視性を切り替えている私のJAVAコード:

FrameLayout llMainContainer = (FrameLayout) findViewById(R.id.llMainContainer);
llMainContainer.setOnClickListener(new OnClickListener() {

    @Override
    public void onClick(View v) {
        // TODO Auto-generated method stub
        if (linlaLikesAndComments.getVisibility() == View.GONE) {
            linlaLikesAndComments.setVisibility(View.VISIBLE);
        } else if (linlaLikesAndComments.getVisibility() == View.VISIBLE) {
            linlaLikesAndComments.setVisibility(View.GONE);
        }
    }
});

動作させるには何を変更する必要がありますか?

画面をタップする前に 画面をタップした後

4

1 に答える 1

0

OPに記載されているライブラリに含まれているサンプルを見逃したようです。

画像がタップされた場所を示す機能がすでに含まれています。

上記のライブラリを使用しない他のライブラリで機能するかどうかはわかりません。

これは私のためにそれをしたことです:

private class PhotoTapListener implements OnPhotoTapListener {

    @Override
    public void onPhotoTap(View view, float x, float y) {
        if (linlaLikesAndComments.getVisibility() == View.GONE) {
            linlaLikesAndComments.setVisibility(View.VISIBLE);
        } else if (linlaLikesAndComments.getVisibility() == View.VISIBLE) {
            linlaLikesAndComments.setVisibility(View.GONE);
        }
    }
}
于 2013-03-04T10:34:55.240 に答える