【问题标题】:RelativeLayout with tags instead ids带有标签而不是 id 的 RelativeLayout
【发布时间】:2018-03-30 15:17:10
【问题描述】:

我想以编程方式在 .xml 中创建一些视图,所以我想在视图中放置标签,因为我不能在 Java 代码中放置一个字符串作为 id(至少我是这么认为的)。 我有一个这样的 .xml:

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">
    <View  <!--I change its color in the Java code-->
        android:tag="color0" 
        android:layout_width="40dp"
        android:layout_height="40dp"
        android:layout_alignParentStart="true"
        android:id="@+id/view1"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:paddingLeft="15dp"
        android:text="Name"
        android:layout_toRightOf="@id/view1"
        android:tag="text1"
        android:gravity="center_vertical"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="U$ 32,44"
        android:layout_alignParentEnd="true"
        android:paddingRight="15dp"
        android:paddingLeft="15dp"
        android:id="@+id/money1"
        android:gravity="center_vertical"/>
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="40dp"
        android:text="03/03/2018"
        android:layout_toLeftOf="@id/money1"
        android:id="@+id/data1"
        android:gravity="center_vertical"/>
</RelativeLayout>

有没有办法说android:layout_toRightOf="color0",因为color0是一个标签? 我应该停止使用RelativeLayout 并开始尝试LinearLayout 来应对这种特定情况吗?

预期结果:

【问题讨论】:

  • 在这种情况下不要使用RelativeLayouts。您应该使用水平线性布局
  • 以编程方式在 .xml 中创建一些视图 - 你到底是什么意思?
  • 我的意思是我会做更多这样的行,但在 Java 代码中是动态的
  • 您可以通过根据需要对给定布局进行多次膨胀来做到这一点。除此之外,目前还不清楚为什么你不能在那里使用 ID。你为什么要改用这个标签?
  • Id 在视图层次结构中不必是唯一的,只要您不需要保存它们的状态,您就可以在那里使用 id,即使您正在夸大其中的许多 xml

标签: android android-relativelayout


【解决方案1】:

android:layout_toRightOf 它只接受 id。
您可以在 java 代码中为视图分配数字 ID。
View view=new View(this);view.setId(2333);

【讨论】:

  • 这与提出的问题有什么关系?
【解决方案2】:

首先,如果您在场景中使用 LinearLayout 而不是 RelativeLayout 会容易得多。

其次,如果您想在运行时在 RelativeLayout 中添加视图,那么您可能希望看到这个link

【讨论】:

  • 是的...我想我会使用LinearLayout...我正在尝试使用RelativeLayout,因为我可以使用alignParentEnd 来获得TextView,但我'将尝试使用 Linear 来解决“id/tags 问题”。谢谢
猜你喜欢
  • 2011-02-19
  • 2019-11-08
  • 2011-12-05
  • 1970-01-01
  • 2012-03-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多