首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用TouchImageView类查找TouchImageView.java的中心点

使用TouchImageView类查找TouchImageView.java的中心点
EN

Stack Overflow用户
提问于 2015-07-13 06:10:20
回答 2查看 116关注 0票数 1

我有两个TouchImageView。我想要实现的是,当我从左向右滑动第一次TouchImageView时,第二次TouchImageView自动从右向左滑动。我正在使用TouchImageView.java课程,这是我在GitHub创建的。下面是我的密码。

activity_main.xml

代码语言:javascript
复制
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:orientation="horizontal"
    android:weightSum="2"
    tools:context="com.PinchZoom.pinchzoomexampletwo.MainActivity" >

    <com.PinchZoom.pinchzoomexampletwo.TouchImageView
        android:id="@+id/img_to_be_zoomed"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_weight="1"
        android:src="@drawable/fb" >
    </com.PinchZoom.pinchzoomexampletwo.TouchImageView>

    <com.PinchZoom.pinchzoomexampletwo.TouchImageView
        android:id="@+id/img_to_be_zoomed_mirror"
        android:layout_width="100dp"
        android:layout_height="100dp"
        android:layout_weight="1"
        android:src="@drawable/fb" >
    </com.PinchZoom.pinchzoomexampletwo.TouchImageView>

</LinearLayout>

MainActivity.java

代码语言:javascript
复制
package com.PinchZoom.pinchzoomexampletwo;

import android.graphics.PointF;
import android.os.Bundle;
import android.support.v7.app.ActionBarActivity;
import android.util.Log;

import com.PinchZoom.pinchzoomexampletwo.TouchImageView.OnTouchImageViewListener;

public class MainActivity extends ActionBarActivity {
    TouchImageView img_to_be_zoomed;
    TouchImageView img_to_be_zoomed_mirror;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        img_to_be_zoomed = (TouchImageView) findViewById(R.id.img_to_be_zoomed);
        img_to_be_zoomed
                .setOnTouchImageViewListener(new OnTouchImageViewListener() {

                    @Override
                    public void onMove() {

                        img_to_be_zoomed_mirror.setZoom(img_to_be_zoomed);

                        Log.e("X Scroll Point: ",
                                "" + img_to_be_zoomed.getScrollPosition());
                    }
                });

        img_to_be_zoomed_mirror = (TouchImageView) findViewById(R.id.img_to_be_zoomed_mirror);
        img_to_be_zoomed_mirror
                .setOnTouchImageViewListener(new OnTouchImageViewListener() {

                    @Override
                    public void onMove() {
                        // TODO Auto-generated method stub
                        img_to_be_zoomed.setZoom(img_to_be_zoomed_mirror);
                        PointF s = new PointF();
                        PointF q = new PointF();
                        s = img_to_be_zoomed.getScrollPosition();
                        q = img_to_be_zoomed_mirror.getScrollPosition();
                        img_to_be_zoomed.setScrollPosition(s.x
                                - (q.x - img_to_be_zoomed.getX()), s.y);
                        Log.e("img_1", s.x + "/" + s.y);
                        Log.e("img_2", "" + q.x + "/" + q.y);
                    }
                });
    }
}

TouchImageView.java

TouchImageView.java在这里找到

编辑:--我在MainActivity.java中使用下面的代码解决了问题。

代码语言:javascript
复制
PointF pointF_img1 = new PointF();
pointF_img1 = img_to_be_zoomed.getScrollPosition();
img_to_be_zoomed_mirror.setScrollPosition(1 - pointF_img1.x, pointF_img1.y);
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-07-13 07:33:41

我已经解决了在MainActivity.java中使用以下代码的问题。

代码语言:javascript
复制
PointF pointF_img1 = new PointF();
pointF_img1 = img_to_be_zoomed.getScrollPosition();
img_to_be_zoomed_mirror.setScrollPosition(1 - pointF_img1.x, pointF_img1.y);
票数 0
EN

Stack Overflow用户

发布于 2015-07-13 06:38:43

尝试这个来获取图像视图的中心点。

代码语言:javascript
复制
int width=Bitmap.getWidth();
int height=Bitmap.getHeight();

int centerX=width/2;
int centerY=height/2;
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31376445

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档