【发布时间】:2015-07-16 12:10:20
【问题描述】:
我想在我的main activity 上显示两个TouchImageViews。我想将每个 TouchImageView 的宽度设置为 devices screen size. As well as I want to set height of eachTouchImageView` 的一半宽度为设备宽度的宽度。我已经尝试过,但没有得到我想要的结果。我想要下图的结果。
我试过下面的代码...
MainActivity.Java:
Display DeviceDisplay = getWindowManager().getDefaultDisplay();
Point size = new Point();
DeviceDisplay.getSize(size);
int DeviceDisplayWidth = size.x;
int DeviceDisplayHeight = size.y;
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(DeviceDisplayWidth / 2, DeviceDisplayHeight);
img_to_be_zoomed.setLayoutParams(params);
img_to_be_zoomed_mirror.setLayoutParams(params);
activity_main.xml:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:weightSum="4"
tools:context="com.PinchZoom.pinchzoomexampletwo.MainActivity" >
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:layout_weight="0.5"
android:gravity="center_vertical"
android:orientation="horizontal" >
<ImageView
android:id="@+id/img_back"
android:layout_width="35dp"
android:layout_height="35dp"
android:contentDescription="@string/img_back_description"
android:src="@drawable/back_icon"
android:textStyle="bold" />
<TextView
android:id="@+id/txt_app_name"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:gravity="center_horizontal"
android:text="@string/txt_app_name"
android:textSize="35px"
android:textStyle="bold" />
<ImageView
android:id="@+id/img_menu"
android:layout_width="35dp"
android:layout_height="35dp"
android:contentDescription="@string/img_menu_description"
android:src="@drawable/menu_icon" />
</LinearLayout>
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="3"
android:background="@drawable/linear_layout_square"
android:gravity="center" >
<com.PinchZoom.pinchzoomexampletwo.TouchImageView
android:id="@+id/img_to_be_zoomed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img" >
</com.PinchZoom.pinchzoomexampletwo.TouchImageView>
<com.PinchZoom.pinchzoomexampletwo.TouchImageView
android:id="@+id/img_to_be_zoomed_mirror"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/img" >
</com.PinchZoom.pinchzoomexampletwo.TouchImageView>
</RelativeLayout>
<LinearLayout
android:id="@+id/layout_bottom_hscrolling"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="1dp"
android:layout_weight="0.5"
android:gravity="bottom"
android:orientation="horizontal" >
<com.devsmart.android.ui.HorizontalListView
android:id="@+id/horizontal_list_view"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#ddd" >
</com.devsmart.android.ui.HorizontalListView>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_bottom_hscrolling_first"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="bottom"
android:orientation="horizontal"
android:visibility="gone" >
<com.devsmart.android.ui.HorizontalListView
android:id="@+id/horizontal_list_view_first"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#ddd" >
</com.devsmart.android.ui.HorizontalListView>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_bottom_hscrolling_second"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="bottom"
android:orientation="horizontal"
android:visibility="gone" >
<com.devsmart.android.ui.HorizontalListView
android:id="@+id/horizontal_list_view_second"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#ddd" >
</com.devsmart.android.ui.HorizontalListView>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_bottom_hscrolling_third"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="bottom"
android:orientation="horizontal"
android:visibility="gone" >
<com.devsmart.android.ui.HorizontalListView
android:id="@+id/horizontal_list_view_third"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#ddd" >
</com.devsmart.android.ui.HorizontalListView>
</LinearLayout>
<LinearLayout
android:id="@+id/layout_bottom_hscrolling_fourth"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5"
android:gravity="bottom"
android:orientation="horizontal"
android:visibility="gone" >
<com.devsmart.android.ui.HorizontalListView
android:id="@+id/horizontal_list_view_fourth"
android:layout_width="fill_parent"
android:layout_height="40dp"
android:background="#ddd" >
</com.devsmart.android.ui.HorizontalListView>
</LinearLayout>
</LinearLayout>
【问题讨论】:
-
ImageView 中需要 scaleType 属性
-
使用带有权重、权重总和和方向的线性布局?
-
需要以编程方式设置设备尺寸的变化。@Skynet 我已经尝试过缩放类型以适应 XY、centerCrop 但没有得到@yshahak
标签: android android-layout android-activity