私は、左端(上から下)に背の高い/狭いイメージと長いイメージを表示するための右側にあるHorizontalScrollViewを実装しました。Android:HorizontalScrollViewとイメージのラッピング
問題は、私がHorizontalScrollViewを適切に処理できなかったことです。画像の左側が表示されず(その方向にスクロールできません)、反対側の画像の境界をはるかに超えてスクロールすることができます。
一番左にスクロールされたスクリーンショット可能な限り(画像の左側が切り取られていることに注意してください)、できるだけ手前にあるすべての空白に注意し、ソース画像はすべてhttp://folk.ntnu.no/anderfo/pics/temp/android/(合計4画像)で提供されます。
(そのことについて申し訳ありません...私はここでそれらを見せたかったが、stackoverflowのに応じて、私は画像を投稿するに十分高い「評判」を持っていません。)
私はイメージのためにラップの異なる種類を試してみましたし、 HorizontalScrollView、しかし問題は常に同じです。
さらに、左の画像に問題があります。ラッピングは機能しないので、その両側に空白があります。
これは説明するのは難しいですので、私は代わりにあなたの問題を提示し、いくつかのサンプルコード与える:
XMLファイル(私はそれの多くのバージョンを作ったが、常に同じ問題を抱えてきました):
を<?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:adjustViewBounds="true"
android:orientation="horizontal" >
<LinearLayout
android:id="@+id/leftContainer"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivExampleBar"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:contentDescription="Bar on the left side"
android:src="@drawable/examplebar" />
</LinearLayout>
<HorizontalScrollView
android:id="@+id/hscroll"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:scrollbarFadeDuration="0">
<LinearLayout
android:id="@+id/container"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="center_horizontal"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivExampleImg"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:contentDescription="Big scrollable image"
android:src="@drawable/exampleimg"
/>
</LinearLayout>
</HorizontalScrollView>
</LinearLayout>
Javaファイル(私も画像の左部分を示すためにScrollToを試みたが、それは特定の解像度/電話でのみ動作します...):
import android.app.Activity;
import android.os.Bundle;
import android.view.Window;
import android.view.WindowManager;
import android.widget.LinearLayout;
public class TestActivity extends Activity {
//private LinearLayout scrollContainer;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// FULL SCREEN
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
this.setContentView(R.layout.testlayout);
//scrollContainer = (LinearLayout) findViewById(R.id.container);
//scrollContainer.scrollTo(-195, 0);
}
@Override
protected void onPause(){
super.onPause();
finish();
}
}
あなたはありますかこれらの問題の助けを借りる?
- は
- はそれが可能左画像の周りの空白を避けるため、画像
- の国境にすべての方法をスクロールするために作るその周りに空白がありませんので、HorizontalScrollViewが私の画像をラップします
乾杯、
アンダース
ChristopheCVBからの助けを借りた後、XMLファイルを更新しました(まだ上のホワイトスペースの問題で両方の写真):
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:adjustViewBounds="true"
android:orientation="horizontal" >
<ImageView
android:id="@+id/ivExampleBar"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:paddingLeft="0dp"
android:paddingRight="0dp"
android:layout_alignParentLeft="true"
android:contentDescription="Bar on the left side"
android:src="@drawable/examplebar" />
<HorizontalScrollView
android:id="@+id/hscroll"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:layout_gravity="left"
android:layout_toRightOf="@+id/ivExampleBar"
android:scrollbarFadeDuration="0">
<ImageView
android:id="@+id/ivExampleImg"
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:contentDescription="Big scrollable image"
android:src="@drawable/exampleimg" />
</HorizontalScrollView>
</RelativeLayout>
...高さが画面の高さのと同一である必要がありますo ImageViewとhorizontalScrollViewのfill_parentに設定しました。 – anderfo
したがって、画像ビューは親の同じ幅/高さを取得します。線図レイアウトは、相対配置を使用してみます。 – ChristopheCVB
残りのスペースは線形レイアウトで塗りつぶされるので、イメージビューは使用可能なすべてのスペースを占有します。 – ChristopheCVB