2015-12-18 188 views
0

我在android studio中开发应用程序。我想使我的应用程序响应不同的设备,我有一个布局问题布局问题android

首先,我有三个控件一个EditText,TextField,Spinner,当创建片段时,微调器加载数据。所有这些都在GridLayout用下面的代码:

<GridLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:columnCount="3" 
     android:layout_margin="2sp"> 

     <TextView 
      android:id="@+id/txtHeight" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:textAppearance="?android:attr/textAppearanceMedium" 
      android:text="Height" 
      android:textColor="#000000" 
      android:textSize="24sp" 
      android:layout_margin="5sp" /> 

     <EditText 
      android:background="@drawable/custom_edit_text" 
      android:inputType="number" 
      android:id="@+id/editText" 
      android:layout_margin="2sp" 
      android:layout_height="50sp" 
      android:layout_width="120sp"/> 


     <Spinner 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:id="@+id/spinner" 
      android:layout_margin="2sp" 
      /> 

    </GridLayout> 
</LinearLayout> 

我怎样才能居中控制,而不影响响应式设计,我想是这样的: Picture1

我已经是问题微调得到更多的空间比其他两个控件,这是同样的,当我改变电话的朝向

回答

0

为什么使用网格布局?我认为这将是更好地使用linearLayoutlayout_width = match_parentlayout_height = 200dp)与水平方向,那么你指定它的weighSum 3,你把这些意见这里面linearLayoutlayout_width = 0layout_weight = 1gravity = center

+0

你试过这个吗? – cylon

+0

感谢您的帮助,它的工作原理。我是Android新手,你可以推荐任何书籍或博客来加速我的学习? – SantiagoGlz

0

只要指定android:layout_width="80dp"等,或只使用

android:layout_weight=0.3 
android:layout_weight=0.3 
android:layout_weight=0.4 

对于视图