我有一个包含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>
你能帮我吗?
答案 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);