以编程方式动态 textview 的文本更改布局中的其他视图,我不希望它
Posted
技术标签:
【中文标题】以编程方式动态 textview 的文本更改布局中的其他视图,我不希望它【英文标题】:Programmatically dynamic textview's text changes other views in layout, I don't want it to 【发布时间】:2015-05-11 23:39:15 【问题描述】:所以我有一个带有relativelayout
的xml 布局文件,其中有几个按钮(其中8 个位于线性布局中)。在此布局顶部锚定的是textview
。当您单击我以编程方式设置的按钮时,此文本视图中的文本会更改,但是当文本更改时,它会重新排列整个布局,这对用户来说太多了。我知道这是因为我的 textview
设置为 wrap_content
但这是我可以考虑多个屏幕的最佳方式。
有什么方法可以设置布局,这样当textview
更改文本数量时,它不会改变布局的其余部分,并且仍然足够动态以适应安卓用户的所有屏幕尺寸?
这是我的布局,非常感谢您的帮助!!!!
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/RelativeLayout1"
android:layout_
android:layout_
android:orientation="vertical"
tools:context="$relativePackage.$activityClass" >
<TextView
android:id="@+id/titleText"
android:layout_
android:layout_
android:layout_alignParentTop="true"
android:layout_marginTop="15dp"
android:layout_marginBottom="15dp"
android:gravity="center"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:text="Here is a really long sentance about some ish so that i can see exactly How Much till it g"
android:textAllCaps="true" />
<LinearLayout
android:orientation="vertical"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_centerVertical="true">
<TableRow
android:id="@+id/tableRow1"
android:layout_
android:layout_
android:weightSum="2"
android:layout_centerInParent="true"
android:layout_below="@+id/titleText">
<Button
android:id="@+id/IdentityButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Identity" />
<Button
android:id="@+id/ConnectionsButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Connections" />
</TableRow>
<TableRow
android:id="@+id/tableRow2"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:weightSum="2"
android:layout_below="@+id/tableRow1" >
<Button
android:id="@+id/ResourcesButton"
android:layout_
android:layout_
android:layout_weight="1"
android:text="@string/List_Resources" />
<Button
android:id="@+id/SkillsButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Skills" />
</TableRow>
<TableRow
android:id="@+id/tableRow3"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:weightSum="2"
android:layout_below="@+id/tableRow2" >
<Button
android:id="@+id/InterestsButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Interests" />
<Button
android:id="@+id/ResponsibilitiesButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Responsibilities" />
</TableRow>
<TableRow
android:id="@+id/tableRow4"
android:layout_
android:layout_
android:layout_centerInParent="true"
android:layout_marginTop="5dp"
android:weightSum="2"
android:layout_below="@+id/tableRow3" >
<Button
android:id="@+id/BeliefsButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Beliefs" />
<Button
android:id="@+id/DirectionButton"
android:layout_
android:layout_weight="1"
android:layout_
android:text="@string/List_Direction" />
</TableRow>
</LinearLayout>
<Button
android:id="@+id/ListNext"
android:layout_
android:layout_
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_alignParentEnd="true"
android:text="Next" />
<ImageButton
android:contentDescription="@string/WhereHelpContentDesc"
android:id="@+id/ListHelpButton"
android:layout_
android:layout_
android:layout_alignParentLeft="true"
android:layout_alignParentStart="true"
android:layout_alignParentBottom="true"
android:src="@android:drawable/btn_star" />
【问题讨论】:
【参考方案1】:因此,在这种情况下,从用户体验的角度来看,我什至无法想象这在视觉上会如何工作。
我认为你可以在这里做的最好的事情是让 textview 在达到其边界时缩小(只是文本,而不是整个视图)。
尝试使用这个 textview 来实现这一点并告诉我:
https://***.com/a/5535672/1154026
【讨论】:
我认为这是一个很长的镜头,无论如何感谢您的帮助!我最终解决了这个问题,只需制作所有将 textview 更改为大约相同数量的单词的字符串。它的贫民区,但嘿,它完成了工作....我希望 试试我发布的那个!它很容易实现,看起来会更好。相信我:)以上是关于以编程方式动态 textview 的文本更改布局中的其他视图,我不希望它的主要内容,如果未能解决你的问题,请参考以下文章