我有一个视图,视图包含两个按钮和一个图库。两个按钮之间的图库视图很高兴现在我运行代码。图库默认选中的项目为1,位于中心,左侧为空白。相反,我希望没有1项应该在左边并选中。因为我使用了以下代码,
MarginLayoutParams mlp = (MarginLayoutParams) myGallery.getLayoutParams();
mlp.setMargins(-100, mlp.topMargin, mlp.rightMargin,
mlp.bottomMargin);
这是我的适配器gallery_adapter.xml,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<ImageView android:layout_width="180px"
android:layout_height="169px" android:id="@+id/imageView1"
android:src="@drawable/gallary_each_bg"
></ImageView>
<ImageView android:layout_width="80px"
android:layout_height="80px" android:id="@+id/imageView2"
android:layout_centerInParent="true" android:layout_marginTop="10px"></ImageView>
<TextView android:layout_width="wrap_content" android:id="@+id/textView1"
android:layout_height="wrap_content" android:layout_marginLeft="55px"
android:textSize="20px" android:layout_marginTop="30px"></TextView>
</RelativeLayout>
这是我的主要xml,
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" android:layout_width="fill_parent"
android:layout_height="fill_parent">
<Gallery android:layout_height="fill_parent"
android:layout_width="350px" android:id="@+id/gallery1"
android:layout_centerInParent="true"
></Gallery>
<Button android:layout_width="58px"
android:id="@+id/prev" android:layout_height="114px"
android:layout_alignParentLeft="true"
android:layout_centerVertical="true" android:background="@drawable/prevbutton"></Button>
<Button android:layout_width="58px"
android:id="@+id/next" android:layout_height="114px"
android:layout_centerVertical="true"
android:layout_alignParentRight="true"
android:background="@drawable/nextbutton"></Button>
</RelativeLayout>
在这里我没有得到任何结果。我做错了。请帮助我..
答案 0 :(得分:8)
这就是你finding
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
Gallery g = (Gallery) findViewById(R.id.gallery);
// set gallery to left side
MarginLayoutParams mlp = (MarginLayoutParams) g.getLayoutParams();
mlp.setMargins(-(metrics.widthPixels / 2 + (imageWidth/2)), mlp.topMargin,
mlp.rightMargin, mlp.bottomMargin);
答案 1 :(得分:0)
WindowManager wm =(WindowManager)mcontext.getSystemService(Context.WINDOW_SERVICE); wm.getDefaultDisplay()getMetrics(指标)。
MarginLayoutParams mlp =(MarginLayoutParams)Gallery.getLayoutParams(); mlp.setMargins( - ((metrics.widthPixels / 2)100), mlp.topMargin, mlp.rightMargin, mlp.bottomMargin
答案 2 :(得分:-6)
这很简单,只需在另一个项目上设置图库:
myGallery.setSelection(4);