2011-12-29 80 views
2

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

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

回答

-6

这很容易就在另一个项目上设置画廊:

myGallery.setSelection(4);

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); 
+0

链接只答案是不欢迎堆栈溢出 – hims056 2012-12-01 10:52:13

+0

什么是'imageWidth。 '? – RobinHood 2014-05-08 07:09:14

+0

imageWidth是您的行文件的图像视图。 – 2014-07-02 09:14:07

0

窗口管理器,WM =(窗口管理器)mcontext.getSystemService(Context.WINDOW_SERVICE); wm.getDefaultDisplay()。getMetrics(metrics);

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

相关问题