ros*_*lin 2 android android-linearlayout layout-gravity android-layout-weight
this is my layout:
<LinearLayout
android:id="@+id/car_linear_layout"
android:layout_toRightOf="@id/car_image"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:layout_height="50sp"
android:weightSum="2">
<TextView
android:id="@+id/car_layout_name"
android:textSize="17sp"
android:maxLines="1"
android:textColor="@color/black"
android:ellipsize="end"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/car_layout_license"
android:textSize="17sp"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
And this is my code:
if (userVehicleID != null) {
carLayout.setWeightSum(2);
carLicense.setText("test");
}else{
carLayout.setWeightSum(1);
carLicense.setVisibility(View.GONE);
}
Run Code Online (Sandbox Code Playgroud)
But even so, if I debug, and it enters the ELSE , it will show just the first textview, but it's not centered. why?
只需android:weightSum从父布局中删除。
因此,如果您将任何孩子的可见性设置为,GONE那么另一个孩子将覆盖重量。如果在您的情况下父布局是wrap_content在将孩子设为 之后GONE,这将使您的父LinearLayout高度等于VISIBLETextView 的高度。这就是layout_weight工作方式。
<LinearLayout
android:id="@+id/car_linear_layout"
android:layout_toRightOf="@id/car_image"
android:layout_width="wrap_content"
android:orientation="vertical"
android:layout_centerVertical="true"
android:gravity="center_vertical"
android:layout_height="50sp"
>
<TextView
android:id="@+id/car_layout_name"
android:textSize="17sp"
android:maxLines="1"
android:textColor="@color/black"
android:ellipsize="end"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
<TextView
android:id="@+id/car_layout_license"
android:textSize="17sp"
android:maxLines="1"
android:ellipsize="end"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
853 次 |
| 最近记录: |