Mey*_*ann 5 android scrollview imageview
我一直试图在单个ImageView上使用ScrollView,JPG(~770 x 1024),而AVD是600x800.
我的main.xml是:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<ScrollView
android:id="@+id/scroller"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
现在,我添加一个ImageView
setContentView(R.layout.main);
ScrollView sv = (ScrollView)findViewById( R.id.scroller );
ImageView iv = new ImageView(this);
iv.setImageDrawable( new BitmapDrawable( "/sdcard/770x1024.jpg" ) ); // same happens with ScaleDrawable.
iv.setScaleType( ScaleType.CENTER_INSIDE );
sv.addView( sv ); // and it does not go any better if I use Linear Layout between the ScrollView and the ImageView.
Run Code Online (Sandbox Code Playgroud)
结果是图像显示在ScrollView的中间,顶部和底部包含背景区域,如下所示:
| } blank
| }
Image|
. |
. :
. :
: } blank
: }
^-scrollbar
Run Code Online (Sandbox Code Playgroud)
而不仅仅是
Image|
. |
. |
. |
. :
Run Code Online (Sandbox Code Playgroud)
我试图设置ImageView红色的背景,并验证空白边距是ImageView背景.
iv.setBackgroundColor( color.Red );
Run Code Online (Sandbox Code Playgroud)
我希望图像的大小不超过它的大小(缩放到AVD大小),我希望ScrollView让我滚动剩下的(如果有的话).
出于某种原因,我看到可绘制的大小是600x1024.
此外, 我尝试添加带有虚拟文本视图的LinearLayout,例如线性布局是ImageView和TextView的父级,ScrollView是LinearLayout的父级.
LinearLayout dummy = new LinearLayout( this );
dummy.addView(iv);
TextView someTextView = new TextView( this );
someTextView.setLayoutParams(new LayoutParams( LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT ));
dummy.addView( someTextView );
sv.addView( dummy );
Run Code Online (Sandbox Code Playgroud)
结果非常奇怪:整个布局设置为无文本文本视图的高度(19).
______________________
| T I T L E B A R |
+--------------------+
| []<-image |
| height=19px |
. .
. .
+--------------------+
Run Code Online (Sandbox Code Playgroud)
对我来说避免拉伸图像很重要.我不能将FIT_XY用于ScaleType.实现可能滚动的页面显示的推荐方法是什么?我是否必须使用普通布局手动完成并滚动GestureDetector.OnScroll事件?
谢谢
什穆埃尔
PS:另一个观察结果:将图像按比例缩小到600x780(比例缩放),它可以正常工作.不幸的是,对我来说,使用图像的一组缩小的克隆是不可行的.
| 归档时间: |
|
| 查看次数: |
4465 次 |
| 最近记录: |