我在RelativeLayout中有两个TextView。一个在左边,另一个在右边。它们都显示可能变得很长的字符串。我想在两个TextViews之间创建一个10dp的最小空间,如果没有足够的空间,则让右边的空间为椭圆形。
我有以下布局定义,但不起作用。正确的TextView可能会覆盖第一个,如果它非常孤立。
<DataGridTemplateColumn>
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="24" />
<RowDefinition />
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition />
<ColumnDefinition Width="30" />
</Grid.ColumnDefinitions>
<TextBlock Text="Employee" />
<Button Grid.Column="1" />
<ItemsControl ItemsSource="{Binding Days[0].Employee}" Grid.Row="1" Grid.ColumnSpan="2">
<ItemsControl.ItemsPanel>
<ItemsPanelTemplate>
<StackPanel Orientation="Horizontal" />
</ItemsPanelTemplate>
</ItemsControl.ItemsPanel>
<ItemsControl.ItemTemplate>
<DataTemplate>
<TextBlock Text="{Binding Name}" />
</DataTemplate>
</ItemsControl.ItemTemplate>
</ItemsControl>
</Grid>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
我能做的唯一方法是将最大长度设置为正确的长度。但这不是我想要的,因为如果左边的那个很短,我希望正确的一个比maxWidth长。
当我添加&#34; toRightOf&#34;这项工作但textView宽度对于显示在其中的短字符串来说太长了。这是不可接受的
答案 0 :(得分:1)
在right_one textview
中添加Add android:layout_toRightOf="@+id/left_one
从right_one textview
中删除android:layout_alignParentRight="true"
在right_one textview
中将android:layout_marginRight="10dp"
替换为android:layout_marginLeft="10dp"
对于right_one textview,如果它很短,则保持正确替换right_one textview部分
<RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="8dp"
android:layout_marginLeft="10dp"
android:layout_alignParentBottom="true"
android:layout_toRightOf="@+id/left_one>
<TextView
android:id="@+id/right_one"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:gravity="center"
android:maxLines="1"
android:ellipsize="end"
/>
</RelativeLayout>
答案 1 :(得分:0)
添加:
android:layout_toLeftOf="@+id/right_one"
android:layout_marginRight="10dp"
到left_one
TextView
。
答案 2 :(得分:0)
你可以这样做。
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1">
<TextView
android:id="@+id/left_one"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_marginBottom="7dp"
android:gravity="bottom"
android:layout_weight="0.3"
android:text="Left text "/>
<TextView
android:id="@+id/right_one"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:gravity="center"
android:maxLines="1"
android:ellipsize="end"
android:layout_weight="0.7"
android:layout_marginLeft="10dp"
android:text="edkjfcnrdskjvkjrdfvsxsdcndsjkvnjksdnvkj
sdjkvbksdbvkj zskjvn jsdnbjkvfdbde"/>
</LinearLayout>