在我的应用程序中,我想放置.png文件,我希望它在横向和纵向模式下都被视为滚动图像,请提示代码或示例….
解决方法:
一个简单的解决方案是滚动一个包含比容器大得多的ImageVIEw的容器:
<?xml version="1.0" enCoding="utf-8"?><linearLayout xmlns:androID="http://schemas.androID.com/apk/res/androID" androID:layout_wIDth="fill_parent" androID:layout_height="fill_parent" androID:gravity="center" androID:orIEntation="vertical" > <linearLayout androID:ID="@+ID/Container" androID:layout_wIDth="200dp" androID:layout_height="200dp" > <ImageVIEw androID:ID="@+ID/ImageVIEw01" androID:layout_wIDth="480dp" androID:layout_height="800dp" androID:src="@drawable/sky_bgr" > </ImageVIEw> </linearLayout></linearLayout>
然后使用代码滚动它:
public class StartActivity extends Activity { private linearLayout container; private int currentX; private int currentY; @OverrIDe public voID onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentVIEw(R.layout.main); container = (linearLayout) findVIEwByID(R.ID.Container); container.scrollTo(220, 400); } @OverrIDe public boolean ontouchEvent(MotionEvent event) { switch (event.getAction()) { case MotionEvent.ACTION_DOWN: { currentX = (int) event.getRawX(); currentY = (int) event.getRawY(); break; } case MotionEvent.ACTION_MOVE: { int x2 = (int) event.getRawX(); int y2 = (int) event.getRawY(); container.scrollBy(currentX - x2 , currentY - y2); currentX = x2; currentY = y2; break; } case MotionEvent.ACTION_UP: { break; } } return true; } }
这里可以进行许多改进,例如限制滚动范围等……
另一种方法是控制ImageVIEw的矩阵……
然后,您可以将图像加载到位图中,并在画布上绘制一部分等
以上是内存溢出为你收集整理的java – 在Android中的ScrollView中的图像全部内容,希望文章能够帮你解决java – 在Android中的ScrollView中的图像所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)