2017-02-22 19 views
1

Я работаю с AppCompatButton и сталкиваюсь с проблемой. Высота кнопки на другом тестируемом устройстве различна.Высота AppCompatButton отличается от устройств?

Например:

на Samsung Galaxy Примечание 4: enter image description here

на Nexus 6:

enter image description here Я определила свою кнопку в качестве следующего:

<android.support.v7.widget.AppCompatButton 
     android:id="@+id/btn_add_to_cart" 
     android:layout_width="0dp" 
     android:layout_height="55dp" 
     android:layout_weight="5" 
     android:text="Add to cart" 
     android:textAllCaps="false"/> 

Я не Не знаю, почему моя кнопка отличается между устройствами. Пожалуйста, помогите мне исправить это.

Заранее спасибо.

+0

ли Примечание 4 работает на KitKat или леденец +? –

+0

Моя заметка 4 работает на Android 6.0 и моя связь работает на Android 7.0 – Glenn

+1

просто мысль: я бы проверить, если тема приложения или его родители вы используете, это что-то вроде @android: style/Theme.DeviceDefault. Иногда это дает разные результаты на разных устройствах. –

ответ

0

У меня была аналогичная проблема при попытке выровнять тени кнопок (сделано по высоте). Стиль по умолчанию для кнопки «Материал» на некоторых устройствах Samsung не устанавливает высоту или stateListAnimator. Попробуйте настройки андроида: stateListAnimator для вашей кнопки для STH так:

<selector xmlns:tools="http://schemas.android.com/tools" 
xmlns:android="http://schemas.android.com/apk/res/android"> 
<item android:state_pressed="true" android:state_enabled="true"> 
    <set> 
     <objectAnimator android:propertyName="translationZ" 
         android:duration="100" 
         android:valueTo="1dp" 
         android:valueType="floatType"/> 
     <objectAnimator android:propertyName="elevation" 
         android:duration="0" 
         android:valueTo="2dp" 
         android:valueType="floatType"/> 
    </set> 
</item> 
<!-- base state --> 
<item android:state_enabled="true"> 
    <set> 
     <objectAnimator android:propertyName="translationZ" 
         android:duration="100" 
         android:valueTo="0" 
         android:startDelay="100" 
         android:valueType="floatType" 
         tools:targetApi="kitkat" /> 
     <objectAnimator android:propertyName="elevation" 
         android:duration="0" 
         android:valueTo="2dp" 
         android:valueType="floatType" /> 
    </set> 
</item> 
<item> 
    <set> 
     <objectAnimator android:propertyName="translationZ" 
         android:duration="0" 
         android:valueTo="0" 
         android:valueType="floatType"/> 
     <objectAnimator android:propertyName="elevation" 
         android:duration="0" 
         android:valueTo="0" 
         android:valueType="floatType"/> 
    </set> 
</item> 

+0

Я использовал ваш код, но ничего не произошло – Glenn

+0

Вы все еще видите разницу, если вы задаете высоту wrap_content? Кроме того, какой фон вы используете? –

+0

Я изменил высоту кнопки на wrap_content, тогда она выглядит отлично на примечании 4, но кнопка на Nexus 6 меньше, чем edittext – Glenn

 Смежные вопросы

  • Нет связанных вопросов^_^