The*_*ind 5 android textview android-layout
背景:
我有一个TextView和两个(自定义)按钮在右边TextView.2个按钮和TextView单个包含在内RelativeLayout.现在,在任何时间点,都可以看到 button-1或button-2 .因为我不知道哪个按钮可见,所以我在两个按钮的代码中添加了
android:layout_toRightOf="@+id/MyTextView"
Run Code Online (Sandbox Code Playgroud)
XML文件中的属性.哪个工作正常.这会根据按钮的位置(和宽度)放置按钮TextView.
问题:
语言更改后,我必须根据Button右侧的宽度更改TextView的宽度.我尝试minWidth/maxWidth了按钮和TextView它们,但它们仍然不允许TextView根据按钮的宽度动态调整大小.
无论如何,我可以指定:
android:layout_toLeftOf="@+id/button1 | @+id/button2"
Run Code Online (Sandbox Code Playgroud)
即,TextView按钮-1或按钮-2的左侧.那么文本视图将根据右边的按钮对齐?
注意:
我更喜欢需要更改XML布局文件(静态)的解决方案,而不是在java(活动)文件中添加代码.
你可以保持两个按钮的RelativeLayout和地方RelativeLayout的另一个RelativeLayout,然后把TextView作为alignLeft的RelativeLayout:
我的应用程序中的示例代码:您需要根据自己的需要进行修改
<RelativeLayout
android:id="@+id/header_container"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<RelativeLayout
android:id="@+id/image_container"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" >
<ImageView
android:id="@+id/settings_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginRight="2dip"
android:contentDescription="@string/setting_desc"
android:src="@drawable/top_settings"
android:visibility="gone" />
<ImageView
android:id="@+id/logout_img"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_toRightOf="@id/settings_img"
android:contentDescription="@string/logout_desc"
android:src="@drawable/top_quit"
android:visibility="gone" />
</RelativeLayout>
<ImageView
android:id="@+id/logo"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_toLeftOf="@+id/image_container"
android:layout_centerVertical="true"
android:contentDescription="@string/logo_desc"
android:src="@drawable/top_logo" />
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
因此,您的视图将在任何ImageView可见的情况下进行调整.
问题:语言更改后,我必须根据Button右侧的宽度更改TextView的宽度.我试图minWidth/maxWidth的按钮和TextView的两个为好,但他们仍然不能够基于按钮的宽度的TextView的动态调整.
好的.
开始了:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/tv"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="ABCDEFGHIJKLMNOPQRSTUVWXYZ"
android:maxLines="1"
android:ellipsize="end"
android:layout_toLeftOf="@+id/fl" />
<FrameLayout
android:id="@id/fl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true" >
<Button
android:id="@+id/bb1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HELLO 1" />
<Button
android:id="@+id/bb2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="HELLO 2" />
</FrameLayout>
</RelativeLayout>
Run Code Online (Sandbox Code Playgroud)
发生了什么?
我们将其分组为Buttonsa FrameLayout.所以,你的担忧Is there anyway where I can specify : android:layout_toLeftOf="@+id/button1 | @+id/button2"已得到解决 - 现在,我们只需要告诉你TextView左边的FrameLayout.
接下来,我们将TextView's宽度设置为match_parent.这是必要的.如果TextView's宽度设置为wrap_content,则TextView看起来是右对齐的.
另外,我们需要Buttons坚持到正确的边缘(从我的问题中收集到的).所以,我们在上面设置layout_alignParentRight="true"属性FrameLayout.
在maxLines和ellipsize属性确保文字保持像样.
如果我以某种方式误解了这个问题,请在下面的评论中解释.
这就是它.
| 归档时间: |
|
| 查看次数: |
1506 次 |
| 最近记录: |