Gus*_*Gus 11 android android-layout
我有两个TextViews并排.假设左侧TextView为1行,右侧TextView为2行.有没有办法将左侧TextView 的基线与右侧TextView中的最后一行对齐?
我愿意使用可以实现此目的的任何布局(RelativeLayout,LinearLayout等).
(android:layout_alignBaselineAndroid中的默认行为是它对齐顶行的基线.)
如果您实现自定义 TextView,则可以使用 RelativeLayout 来完成此操作。具体来说,您可以像这样覆盖TextView.getBaseline:
package mypackage.name;
// TODO: imports, etc.
public class BaselineLastLineTextView extends TextView {
// TODO: constructors, etc.
@Override
public int getBaseline() {
Layout layout = getLayout();
if (layout == null) {
return super.getBaseline();
}
int baselineOffset = super.getBaseline() - layout.getLineBaseline(0);
return baselineOffset + layout.getLineBaseline(layout.getLineCount()-1);
}
}
Run Code Online (Sandbox Code Playgroud)
然后,您将在 RelativeLayout 中使用您的自定义 TextView,如下所示:
<mypackage.name.BaselineLastLineTextView
android:id="@+id/text_view_1"
<!-- TODO: other TextView properties -->
/>
<TextView
android:id="@+id/text_view_2"
android:layout_alignBaseline="@id/text_view_1"
<!-- TODO: other TextView properties -->
/>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1614 次 |
| 最近记录: |