Android将图像调整为全屏方向

时间:2015-06-10 11:09:05

标签: android xml android-layout

我有一个包含imageview的xml,我希望在点击时,考虑到图像的方向,它会调整为LinearLayout的大小。然后单击一下,默认替换图像。

我的Xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/grey"
        android:orientation="horizontal" >

        <ImageButton
            android:id="@+id/goToDayButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_gravity="center_vertical"
            android:src="@drawable/ic_btn_find_prev"
            android:contentDescription="@string/imgbPrev" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1.40"
            android:orientation="vertical" >

            <TextView
                android:id="@+id/textNameService"
                style="@style/txtvServiceName"
                android:layout_width="match_parent"
                android:layout_height="48dp"
                android:text="@string/largetext"
                android:textSize="20sp" />

        </LinearLayout>

        <ImageButton
            android:id="@+id/goToNextButton"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:src="@drawable/ic_btn_find_next"
            android:contentDescription="@string/imgbNext"
            android:visibility="invisible" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical" >

        <ImageView
            android:id="@+id/sentImageView"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_margin="2dp"
            android:layout_weight="1"
            android:background="@drawable/frame_shadow"
            android:contentDescription="@string/description"
            android:scaleType="fitXY"
            android:src="@drawable/montreal" />

        <TextView
            android:id="@+id/textDescription"
            style="@style/txtvServiceDescription"
            android:layout_width="match_parent"
            android:layout_height="0dp"
            android:layout_weight="1"
            android:maxLines="20"
            android:textSize="20sp" />

        <LinearLayout
            android:id="@+id/pageIndicatorLayout"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:gravity="right"
            android:orientation="horizontal"
            android:paddingBottom="2dp"
            android:paddingLeft="2dp"
            android:paddingRight="2dp"
            android:paddingTop="2dp" >
        </LinearLayout>

    </LinearLayout>

</LinearLayout>

你能帮我吗?

1 个答案:

答案 0 :(得分:0)

我猜你需要在单击时缩放ImageView,并在再次单击时缩小。 Android已经为此提供了example。我可能会对您有所帮助。

已更新
Here是DevBytes中类似效果的一个很好的例子。它使用ActivityOptions中的新API,可以直接从JellyBean获得,也可以通过support-v4 library

访问

从该示例中截取的代码位于:

Intent i = new Intent(HomeActivity.this, DetailActivity.class);
i.putExtra(DetailActivity.EXTRA_COLOUR, colour);
Bundle b = null;
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) {
    Bitmap bitmap = Bitmap.createBitmap(view.getWidth(), view.getHeight(), Bitmap.Config.ARGB_8888);
    bitmap.eraseColor(colour);
    b = ActivityOptions.makeThumbnailScaleUpAnimation(view, bitmap, 0, 0).toBundle();
}
startActivity(i, b);