2012-07-25 10 views
7

Android 4.1を実行しているNexus 7タブレットのパディングに問題があることに気付いています。具体的には、外側ストロークを作成するパディング付きのバックグラウンドドロアブルがあります。Nexus 7タブレットの埋め込みに関する問題

<?xml version="1.0" encoding="utf-8"?> 
    <shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" > 

    <stroke 
    android:width="1dp" 
    android:color="#59000000" /> 

    <padding 
    android:bottom="1dp" 
    android:left="1dp" 
    android:right="1dp" 
    android:top="1dp" /> 

    </shape> 

これには1dpの白い内側ストロークが追加されています。

は、私が実際ネクサスデバイス上で、いくつかの他のデバイスと7インチのゼリービーンエミュレータ上でそれをテストしている

まず、ここで働いているので、画像全体の周りの正方形の2 DPの境界線でなければなりませんバージョン:4.1 7インチエミュレータから: This is the 7 inch tablet emulator for 4.1

外部の境界線が均一であり、画像全体を回っています。これは私が持っている他のすべてのデバイスでも動作する方法です。

ネクサス7:

Image with messed up padding

灰色の背景色ですが、右と下のパディングが尊重されていない見ることができます。ボーダーは今イメージによって隠されています。

重要な場合、これらはGridViewの子です。誰もがこれらの問題を見ているか、それを解決する方法についてのアイデアがあるかどうか分かりません。

+0

これはスケーリングによるものだとは思えませんが、私はそれが問題ではないと思っていませんが、XMLのドロウアブルでは...ストレッチですが、このドロアブルはどのフォルダですか? Nexus 7は「mdpi」ではなく「tvdpi」なので、これは何とか関連していると思います。 – kcoppock

+0

まあ、私はtvdpiが存在していることは知らなかった。私は現在スケーリングを必要とせずにxmlで定義されていると考えているので、私は現在drawable-nodpiに収めています。私はそれがエミュレータではなくデバイス上で動作する理由について戸惑っています。 –

+0

ええ、GoogleではNexus 7のtvdpiについて心配することはありませんが、スケーリングの問題のように見えます。エミュレータを213 dpi(tvdpi density)に設定し、問題が発生していないかどうか確認してください。 – kcoppock

答えて

2

これは、XMLドロウアブルにstrokeを生成する際に発生するバグです。複数の試行の後、私はそれを絞り込んだ。ピクセルで指定されていても、形状の下側と右側でストロークのサイズが正しくないように見えます。私は単に2dip代わりの1dip(彼らがそうであるように他のすべてのものは、滞在)にストローク幅を変更すると、これが結果です:

enter image description here

これは私が後の画像の背景で使うborder.xml次のとおりです。

<?xml version="1.0" encoding="utf-8"?> 
<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle"> 

    <stroke 
      android:width="2dp" 
      android:color="#59000000"/> 

    <padding 
      android:bottom="1dp" 
      android:left="1dp" 
      android:right="1dp" 
      android:top="1dp"/> 

</shape> 

もう一度、ストロークの幅を広げたのはあなただけです。良いことは、です。パディングが変わらないので、これはすべてで期待される結果を変更しません。実際には、strokeタグをsolidに変更することはできますが、同じ結果が得られます(ただし、画像に透明部分が含まれていると、透明部分には背景が表示されます)。

これを試してください。それがあなたのためにどのように働くか教えてください!

+0

これは私のために働いた、なぜそれはうんざりです:)しかし、それは動作します、ありがとう! –

+0

ようこそ。 :)私はそれがうまくいってうれしいですが、私はまた、なぜ私が正確に知っていればいいと思います。 – kcoppock

関連する問題