两个线性布局需要半个屏幕

时间:2018-07-18 15:56:30

标签: android xml

我正在制作一个新闻应用程序。我的2个线性布局相互重叠。我尝试在每个子视图上设置width = oweight = 1,但这给了我这个错误错误:'1dp'与属性android:layout_weight(attr)float不兼容。这是我的xml代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:weightSum="2"
    >
<LinearLayout
    android:id="@+id/linear"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:layout_width="0dp"
    android:layout_weight="1dp"
    tools:ignore="Suspicious0dp">

    <TextView
        android:id="@+id/title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:textStyle="bold" />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:padding="5dp"
        android:id="@+id/selection" />
</LinearLayout>
<LinearLayout
    android:layout_width="0dp"
    android:layout_weight="1dp"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:ignore="Suspicious0dp">
    <TextView

        android:id="@+id/publicationDate"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        />
  </LinearLayout>
</LinearLayout>

3 个答案:

答案 0 :(得分:0)

使用precision mediump float; uniform highp float u_lightPower; uniform sampler2D u_texture; uniform highp mat4 u_viewMatrix; varying highp vec4 v_position; varying highp vec2 v_texCoord; varying highp vec3 v_normal; void main(void) { vec4 resultColor = vec4(0.25, 0.25, 0.25, 0.0); vec4 diffMatColor = texture2D(u_texture, v_texCoord); vec3 eyePosition = vec3(u_viewMatrix); vec3 eyeVect = normalize(v_position.xyz - eyePosition); float dist = length(v_position.xyz - eyePosition); vec3 reflectLight = normalize(reflect(eyeVect, v_normal)); float specularFactor = 1.0; float ambientFactor = 0.05; vec4 diffColor = diffMatColor * u_lightPower * dot(v_normal, -eyeVect);// * (1.0 + 0.25 * dist * dist); resultColor += diffColor; gl_FragColor = resultColor; } 而不是android:layout_weight="1"
1dp的大小相对于父级布局而言,与layout_weight个单位无关

答案 1 :(得分:0)

您应该为每个线性布局这样添加它

SELECT        
      itp.ItemID
    , COALESCE(itp.MetalPrice, 0) + COALESCE( SUM(pp.PartPriceTotal) , 0) AS FinalItemPrice
    , itp.MetalPrice
    , SUM(pp.PartPriceTotal)    AS PartTotalPrice
FROM ItemPrice itp
LEFT JOIN PartsPrice pp ON itp.ItemID = pp.ItemID 
WHERE itp.ItemID = '100456'
GROUP BY itp.MetalPrice, itp.ItemID

答案 2 :(得分:0)

根据父级布局方向为每个子级放置var str = string.Join(Environment.NewLine, Enumerable.Range(1, 5000000).Select(i => $"This is line number {i}. This is some more content on this line.")); File.AppendAllText(@"C:\Temp\Test.txt", str); ,如果它是水平的,则子级视图应具有android:layout_weight="1",否则为android:layout_width="0dp"