我正在使用自定义适配器创建一个画廊(在女巫中的相对布局,我将图像视图作为缩略图,将文本视图作为名称和其他人员)。
画廊完美地全屏显示,但这不是我想要的.. 我希望自定义相对布局相对于屏幕尺寸缩放到高度和宽度的 50%。我试过这个:
gallery.getLayoutParams().width = relativelayout.getWidth() / 2;
gallery.getLayoutParams().height = relativelayout.getHeight() / 2;
这是一个错误的尝试,它只是将高度和宽度设置为正确的大小而不缩放内容。
这是原始视图:
这是我所期望的:
这就是我所拥有的:
这是布局封面:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<ImageView
android:id="@+id/ivTourCover"
android:layout_width="640dp"
android:layout_height="240dp"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:src="@drawable/croppedstopgallery_f45d88e4_7864_4dbc_9123_ad7953d8724a" />
<ImageButton
android:id="@+id/ivHorizontalLine"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/tvTourName"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="0dp"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:src="@drawable/horizontal_line" />
<TextView
android:id="@+id/tvAuthorName"
style="@style/Cover.AuthorName"
android:layout_width="fill_parent"
android:layout_height="19dp"
android:layout_alignTop="@+id/ivAuthorThumbnail"
android:layout_marginLeft="12dp"
android:layout_marginRight="17dp"
android:layout_toLeftOf="@+id/ivGo"
android:layout_toRightOf="@+id/ivAuthorThumbnail"
android:text="Anna Greenleaf" />
<ImageView
android:id="@+id/ivAuthorThumbnail"
android:layout_width="46dp"
android:layout_height="46dp"
android:layout_alignLeft="@+id/ivHorizontalLine"
android:layout_below="@+id/ivHorizontalLine"
android:layout_marginTop="20dp"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:src="@drawable/croppedstopgallery_f45d88e4_7864_4dbc_9123_ad7953d8724a" />
<ImageView
android:id="@+id/ivGo"
android:layout_width="46dp"
android:layout_height="46dp"
android:layout_alignRight="@+id/ivHorizontalLine"
android:layout_alignTop="@+id/tvAuthorName"
android:contentDescription="@string/app_name"
android:scaleType="fitXY"
android:src="@drawable/tour_cover_go" />
<TextView
android:id="@+id/tvAuthorDescription"
style="@style/Cover.AuthorDescription"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/tvAuthorName"
android:layout_alignRight="@+id/tvAuthorName"
android:layout_below="@+id/tvAuthorName"
android:text="London native and London over!" />
<SurfaceView
android:id="@+id/svFooter"
android:layout_width="wrap_content"
android:layout_height="30dp"
android:layout_alignParentBottom="true"
android:layout_alignParentLeft="true"
android:layout_alignParentRight="true"
android:background="@color/CoverFooter" />
<TextView
android:id="@+id/tvFooterText"
style="@style/Cover.FooterText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/svFooter"
android:layout_alignBottom="@+id/svFooter"
android:layout_centerHorizontal="true"
android:layout_marginBottom="10dp"
android:text="Individual" />
<com.example.zipdownload.utilities.ui.AutoResizeTextView
android:id="@+id/tvTourName"
style="@style/Cover.TourName"
android:layout_width="wrap_content"
android:layout_height="79dp"
android:layout_below="@+id/ivTourCover"
android:layout_centerHorizontal="true"
android:layout_marginLeft="20dp"
android:layout_marginRight="20dp"
android:layout_marginTop="15dp"
android:gravity="center|top"
android:text="Beautiful London in Winston Churchill's footsteps" />
</RelativeLayout>
查看画廊:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/rlGallery"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Gallery" >
<Gallery
android:id="@+id/gCoverflow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:gravity="top" />
</RelativeLayout>
和活动图库:
public class Gallery extends Activity {
private android.widget.Gallery gCoverflow;
private RelativeLayout rlGallery;
private CoverAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_gallery);
rlGallery = (RelativeLayout) findViewById(R.id.rlGallery);
adapter = new CoverAdapter(this);
gCoverflow = (android.widget.Gallery) findViewById(R.id.gCoverflow);
gCoverflow.setAdapter(adapter);
}
@Override
public void onWindowFocusChanged(boolean hasFocus) {
super.onWindowFocusChanged(hasFocus);
gCoverflow.getLayoutParams().width = rlGallery.getWidth() / 2;
gCoverflow.getLayoutParams().height = rlGallery.getHeight() / 2;
}
}