图库图片从android中的gallery中心开始

时间:2013-02-15 09:38:12

标签: android android-layout android-relativelayout

enter image description here

我在两个按钮之间有一个画廊,如下面的xml文件中所示。在图库中,图像从中心添加。

<RelativeLayout
      android:layout_height="80dp"
      android:layout_width="fill_parent"
      android:id="@+id/gal"
      android:layout_alignParentBottom="true"
      android:background="@drawable/backgroundblackwhite">
       <Button android:layout_height="wrap_content"
           android:layout_width="wrap_content"
           android:background="@drawable/backward"
           android:layout_alignParentLeft="true"/>
       <Button android:layout_height="wrap_content"
           android:layout_width="wrap_content"
           android:background="@drawable/forward"
           android:layout_alignParentRight="true"/>
      <Gallery 
          android:layout_height="100dp"
          android:layout_width="fill_parent"
          android:layout_alignParentBottom="true"
          android:id="@+id/gallary"
          android:layout_marginLeft="100dp"
          android:layout_marginRight="100dp"
          android:spacing="5dp"
          android:layout_marginBottom="10dp"
          android:background="@drawable/greypattren"/>  
   </RelativeLayout>

I want the images to start from Left of my Gallery. I used the below code to set the gallery images to start from the left of gallery view.

DisplayMetrics metrics = new DisplayMetrics();                 。getWindowManager()getDefaultDisplay()getMetrics(指标);

            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)我想要的图库视图,我希望从屏幕左侧添加图像。 2)使用指标添加上述代码(设置边距)后更改图库。

我是否需要更改xml或代码中的任何内容?

请帮忙 提前致谢

enter image description here

1 个答案:

答案 0 :(得分:0)

替换

 MarginLayoutParams mlp = (MarginLayoutParams) g.getLayoutParams();
 mlp.setMargins(-(metrics.widthPixels / 2 + (imageWidth/2)), mlp.topMargin,
 mlp.rightMargin, mlp.bottomMargin);

mlp.setMargins((int) -(metrics.widthPixels/2.5), mlp.topMargin, mlp.rightMargin,                    mlp.bottomMargin);