Android视图:如果layout_height太小,请隐藏

时间:2013-04-24 14:55:03

标签: android android-layout android-linearlayout android-layout-weight

我想在屏幕上只显示两个TextView,一个在另一个上面。

TextView B:400dp高,位于底部, TextView A:填充屏幕的其余部分。

但是,如果TextView A的高度小于100dp,则不应显示它(仅显示TextView A,其余只是空格)。

这可以通过XML实现吗?

目前我正在使用这样的东西:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white"
    android:gravity="center"
    android:orientation="vertical" >

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:background="@color/blue"
        android:text="Image A"
        android:gravity="center"
        android:textSize="40sp" />

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="400dp"
        android:background="@color/green"
        android:text="Image B: 400dp"
        android:gravity="center"        
        android:textSize="40sp" />

</LinearLayout>

1 个答案:

答案 0 :(得分:0)

如果您要在其他几种布局中使用此功能,我会考虑将其构建到自定义视图中,您可以在其中添加额外的属性customer:minSize = 100dp。在该自定义视图中,您可能会添加Marko的建议(即textview.getHeight&gt; customer:minSize then textview.setVisibility(View.Gone / Invisible)

http://developer.android.com/training/custom-views/index.html http://developer.android.com/guide/topics/ui/custom-components.html ... http://mobile.tutsplus.com/tutorials/android/android-sdk-creating-custom-views-2/

否则,我只是在你的活动中实现它。