我在为 Android 编程方面非常陌生。我的应用是来自开发者 android 网站上 api 演示的示例应用。当我更改该示例图中的参数时,它会变大。该绘图需要在滚动视图中显示(不需要缩小以适应屏幕)。这是我使用的代码:
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代码:
路由.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 布局或滚动视图时,绘图看起来像 Figure1:
http://i.stack.imgur.com/za5MP.png 图1
我还尝试在方法 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);
当我使用上面显示的代码时,应用程序显示不带滚动视图的 Figure1,似乎第二个内容视图覆盖了该 xml,但它没有正确显示。之后,我尝试在 setContentView 之后使用此代码:
View v = new SampleView(this);
FrameLayout fl = new FrameLayout(this);
fl.findViewById(R.id.FrameLayout1);
fl.addView(v);
水平滚动视图后在 routes.xml 文件中添加框架布局(FrameLayout1)。当应用程序运行时,我得到没有图 1 的空白屏幕。有谁知道如何升级我的代码以在 ScrollView 中显示 Figure1?
提前致谢!