如何设置画廊从左角开始?

时间:2011-12-29 10:38:36

标签: android android-ui

我有一个视图,视图包含两个按钮和一个图库。两个按钮之间的图库视图很高兴现在我运行代码。图库默认选中的项目为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>

在这里我没有得到任何结果。我做错了。请帮助我..

3 个答案:

答案 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);