我是Android编程的新手。我的应用程序是来自开发人员android网站上的api演示的示例应用程序。当我在该示例绘图中更改参数时,它会变大。该图需要在滚动视图中显示(不需要缩小以适应屏幕)。这是我使用的代码:Android:在Scrollview的画布上绘画
DrawPoints.java
public class DrawPoints extends myActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.routes);
}
public static class SampleView extends View {
private Paint mPaint = new Paint();
private float[] mPts;
/*here comes declaration of parametars
private void buildPoints() {
/*here comes some coding*/
}
}
public SampleView(Context context, AttributeSet attributeset) {
super(context, attributeSet);
buildPoints();
}
@Override
protected void onDraw(Canvas canvas) {
Paint paint = mPaint;
//here also comes code
}
}
}
这里的XML代码:
routes.xml
<?xml version="1.0" encoding="utf-8"?>
<ScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/scrollView1"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<HorizontalScrollView
android:id="@+id/scrollView2"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<!-- This code is just to make sure that scroll views work how
I want them to work, image size is 625*351 px
<ImageView
android:id="@+id/image_View1"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:src="@drawable/bus_design"
/> -->
<my.package.DrawPoints.SampleView
android:layout_width="fill_parent"
android:layout_height="fill_parent" />
</HorizontalScrollView>
</ScrollView>
当我运行该应用程序,按下主活动应用程序崩溃中的按钮。 图纸看起来像如图一的时候我不使用XML布局或scrollviews:
http://i.stack.imgur.com/za5MP.png 如图一
我也尝试过使用这种方法的setContentView此代码后:
View v = new SampleView(this);
addContentView(v, new ViewGroup.LayoutParams(ViewGroup.LayoutParams.FILL_PARENT,
ViewGroup.LayoutParams.FILL_PARENT));
而且这一个:
View v = new SampleView(this);
ScrollView.LayoutParams lp = new ScrollView.LayoutParams(1000, 1000);
addContentView(v, lp);
当我使用co des,如上所示,应用程序显示图1没有滚动视图,它看起来像第二个内容视图覆盖该XML,但它不能正确显示。 后,我试图的setContentView后使用此代码:
View v = new SampleView(this);
FrameLayout fl = new FrameLayout(this);
fl.findViewById(R.id.FrameLayout1);
fl.addView(v);
帧布局(FrameLayout1)在水平滚动视图后routes.xml文件被添加。当应用程序运行时,我得到空白屏幕没有图1。 任何人都有一个想法如何升级我的代码,可以在ScrollView中显示图1吗?
在此先感谢!
大家好,没有人公布任何回答我的问题,所以我找了一些解决方案。我发现在Android没有实现双向滚动 我发现真的很好的双向滚动这个网页上的实现[链接] http://stackoverflow.com/questions/2044775/scrollview-vertical-and-horizontal-in-解决方案由Mahdi Hijazi发布。解决方案就像魅力一样,但是当我尝试在他的解决方案上实现我的SampleView类时,再也没有任何反应。如果我得到了一些解决方案,我会在这里发布解决方案。直到那时希望有人有解决办法。 – Kristijan 2012-05-05 19:05:02