android- layout_weight =“0”的含义

时间:2016-12-13 07:51:29

标签: android xml android-layout android-view android-layout-weight

我正在使用layout_weight来指定Android中特定viewGroups中各种视图的比率。
 从this问题的答案我得到了关于layout_weight是什么的清晰概念。我使用普通数学计算views中所有viewGroup的大小(即我有3 views 1,2& 3 layout_weights&所有layout_height viewGroup {1}} =“0dp”然后他们的layout_weight中有1 /(1 + 2 + 3),2 /(1 + 2 + 3),3 /(1 + 2 + 3)个空格用于Verical对齐)。
但是,layout_weight =“0”是什么意思?如何确定@Configuration public class CxfServletUtil{ @Bean public ServletRegistrationBean getODataServletRegistrationBean() { ServletRegistrationBean odataServletRegistrationBean = new ServletRegistrationBean(new CXFNonSpringJaxrsServlet(), "/user.svc/*"); Map<String, String> initParameters = new HashMap<String, String>(); initParameters.put("javax.ws.rs.Application", "org.apache.olingo.odata2.core.rest.app.ODataApplication"); initParameters.put("org.apache.olingo.odata2.service.factory", "com.olingotest.core.CustomODataJPAServiceFactory"); odataServletRegistrationBean.setInitParameters(initParameters); return odataServletRegistrationBean; } ... =“0”的视图大小?

3 个答案:

答案 0 :(得分:1)

对于所有具有layout_weight的视图,必须将layout_height或layout_width设置为0dp,具体取决于布局的方向和要求。

  1. layout_weight =“1”和layout_width =“0dp”==&gt;如果没有其他布局,则该特定视图将水平拉伸。

  2. layout_weight =“0”和layout_width =“100dp”==&gt;该特定布局的行为与此场景中没有layout_weight的含义一样。

  3. 最好使用重量是当你需要两个相同高度/宽度的视图彼此相邻时,你可以为布局和重量添加宽度/高度为“0dp”,两个布局都为“1”

答案 1 :(得分:0)

layout_weight =“0”在xml中没有意思应该有android:layout_width =“0dp”所以如果你想在Linarlayout方向为所有控件提供相同的空间我们使用这个例如: - 如果我们想要3个按钮在横向我们使用下面的代码

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:weightSum="1">

    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.33"/>
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.33"/>
    <Button
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="0.33"/>

</LinearLayout>`

所以我们在这里放

  

机器人:weightSum = “1”

并且控制体重相等。在所有设备中,除了Imageview之外,它将以适当的方式显示。

答案 2 :(得分:0)

  

对于所有具有layout_weight的视图,必须具有layout_height或   layout_width为0dp,取决于方向和要求   布局。

那是不正确的。首先,应用“ layout_width”和“ layout_height”参数,并且视图将至少为该大小。其次,ViewGroup中的剩余空间将根据视图的权重按比例分配。因此权重为“ 0”意味着在该阶段,视图将不会再具有其他大小。