2017-02-22 15 views
1

私はAppCompatButtonで作業しており、問題に直面しています。テストされたデバイスによってはボタンの高さが異なります。例えばAppCompatButtonの高さはデバイスによって異なりますか?

三星ギャラクシー注4に

<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"/> 

Iドン:私は次のように私のボタンを定義

enter image description here :ネクサス6に enter image description here

なぜ私のボタンがデバイス間で違うのか分かりません。これを解決するために私を助けてください。

ありがとうございます。

+0

はキットカットやロリポップ+上で実行されている注4か? –

+0

マイノート4は、Android 6.0上で動作していると私のネクサスは、Android 7.0 – Glenn

+1

にちょうど考えを実行している:スタイル/ Theme.DeviceDefault:あなたが使用してアプリのテーマやその親が@androidのようなものがある場合、私はチェックしたいです。場合によっては、異なるデバイスで異なる結果が得られることもあります。 –

答えて

0

ボタンシャドウを揃えるとき(仰角で行われたとき)、同様の問題が発生しました。一部のSamsungデバイスのマテリアルボタンのデフォルトスタイルでは、標高またはstateListAnimatorは設定されません。アンドロイドを設定してみてください :あなたのボタンは、このようSTHするためstateListAnimator:

<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

関連する問題