【问题标题】:Adding Children to LinearLayout and Setting Visibility将子项添加到 LinearLayout 并设置可见性
【发布时间】:2013-06-11 13:38:30
【问题描述】:

我有一个 LinearLayout,其可见性直接受点击 TextView 的影响。这个 LinearLayout 里面动态添加了更多的 TextView。我的 LinearLayout viewQuickLinks 开始时的可见性已经消失。在我的 oncreate 中,我调用 addQuickLinks,然后将几个 TextViews 添加到 LinearLayout。这些 TextView 都没有设置可见性。我单击 TextView 将 LinearLayout 更改为可见并添加空间,但没有 TextView。

我的 xml 文件(只是为了添加一个注释,这都是在滚动视图中):

    <TextView
        android:id="@+id/textQuickLinksTitle"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:drawableRight="@drawable/navigation_expand"
        android:text="@string/quick_links_title"
        android:textSize="25sp"
        android:visibility="visible" />

    <LinearLayout
        android:id="@+id/viewQuickLinks"
        android:layout_width="fill_parent"
        android:layout_height="1dip"
        android:visibility="gone"
        android:orientation="vertical" />

将 LinearLayout 更改为可见并消失:

private void setUpQuickLinks() {
    final TextView quickLinksTitleText = (TextView) findViewById(R.id.textQuickLinksTitle);
    quickLinksTitleText.setOnClickListener(new OnClickListener() {
        @Override
        public void onClick(View v) {

            LinearLayout viewQuickLinks = (LinearLayout) findViewById(R.id.viewQuickLinks);
            if (viewQuickLinks.getVisibility() == View.VISIBLE){
                viewQuickLinks.setVisibility(View.GONE);
                quickLinksTitleText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.navigation_expand, 0);
            }
            else{
                viewQuickLinks.setVisibility(View.VISIBLE);
                quickLinksTitleText.setCompoundDrawablesWithIntrinsicBounds(0, 0, R.drawable.navigation_collapse, 0);
            }
        }
    });
    quickLinksClickListeners();
}

为什么当 LinearLayout 可见时 TextViews 没有出现?

感谢您的帮助!

【问题讨论】:

  • 只是添加注释,您提供的xml不能在1个Scrollview中,因为Scrollview中只允许1个子视图。
  • 我应该更清楚。我有一个 ScrollView,然后是一个 LinearLayout,LinearLayout 里面是 TextView 和其他 LinearLayout。有好几层。

标签: android visibility android-view textview onclicklistener


【解决方案1】:

尝试将android:layout_height 更改为fill_parent。为什么是 1 次下降?

【讨论】:

  • 您发布的两种方法也相同。如果我理解正确,你又会在这里消失:if (viewQuickLinks.getVisibility() == View.VISIBLE){ viewQuickLinks.setVisibility(View.GONE);
  • 我正在创建一个可折叠的视图。因此,如果 viewQuickLinks 可见并且我的 OnClickListener 被调用,那么我希望 viewQuickLinks 消失,这是正确的。
  • 感谢您的回答。我正在应对和粘贴,但没有确定我想这样做。这就是我努力提高效率所得到的。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-03
  • 1970-01-01
  • 2015-08-26
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
相关资源
最近更新 更多