android 性能基线,android – 基线对齐的TextInputLayout和Spinner

我尝试对齐微调器并按基线编辑文本,但它不起作用:

aHG8r.png

它从24.1.1到24.2.1(support-v4,appcompat-v7,design)的更新支持库依赖关系之后开始.

这是我的xml代码:

android:id="@+id/email_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:orientation="horizontal">

android:id="@+id/spinner"

style="@style/MailSpinner"

android:layout_width="120dp"

android:layout_height="wrap_content"

android:layout_alignParentEnd="true"

android:dropDownWidth="wrap_content" />

android:id="@+id/text_input_layout"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:layout_marginEnd="8dp"

android:layout_alignBaseline="@id/spinner"

android:layout_toStartOf="@id/spinner"

android:baselineAlignedChildIndex="0">

android:id="@+id/edit_text"

android:layout_width="match_parent"

android:layout_height="wrap_content"

android:hint="E-mail"

android:ellipsize="end"

android:imeOptions="actionNext"

android:inputType="textEmailAddress"

android:textSize="16sp"/>

MailSpinner风格:

@drawable/spinner_textfield_background

@color/spinner_tint

src_atop

最佳答案:

基本上TextInputLayout没有为其父母提供基准值.我们需要通过扩展TextInputLayout来管理EditText的正确基线.这对我有用,但是,我不确定基线是否会因TextInputLayout中的其他事件而发生变化.

public class CTextInputLayout extends TextInputLayout {

public CTextInputLayout(Context context) {

super(context);

}

public CTextInputLayout(Context context, AttributeSet attrs) {

super(context, attrs);

}

public CTextInputLayout(Context context, AttributeSet attrs, int defStyleAttr) {

super(context, attrs, defStyleAttr);

}

@Override

public int getBaseline()

{

EditText editText = getEditText();

return editText.getPaddingTop() + editText.getBaseline();

}

}

标签:android,xml,styles

来源: https://codeday.me/bug/20190516/1114832.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值