2016-09-11 2 views
0

現在Udacity Androidプロジェクトで作業中ですが、私は答えが見つからないような気がします。カスタムスタイルリソースを使用してlayout.xmlファイルからスタイルのアスペクトを削除することは、私が正しく学習して使用しようとしていることです。layout.xmlに 'paddingLeft'と 'paddingStart'が必要ですが、custom_style.xmlのエラー

しかし、私は問題に遭遇しました。あなたがpaddingを知っているように

paddingStartpaddingLeftpaddingRightと同時にpaddingEndを使用することが推奨され、これはいくつかの理由のためである:

  1. 右から左方向のサポート
  2. 低-APIレベルサポート(私はstartendがAPI 17で始まったと信じています)

レイアウトでは、Android Studio IDEでは、両方のメソッドを実装することをお勧めします(以前のバージョンのAndroidを使用している場合は、フォールバックと見なされます)。しかし、正確なオプションをstyle.xmlに移植すると、start/end(私のプロジェクトはAPI 15)を使用するためのAPI 17サポートの欠如に関するエラーが出ます。 leftrightのオプションでは、スタイルリソースにendstartが存在しないのはなぜですか?

例:ここでは

スタイルリソースを適用する前に、作業layout.xmlからの抜粋です:

<LinearLayout 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingLeft="15dp" 
    android:paddingRight="15dp" 
    android:paddingStart="15dp" 
    android:paddingEnd="15dp" /> 

そして、ここでは取り(エラーで)スタイルシートですstyle layout.xmlファイルを編集し、というスタイルリソースに追加します。custom_styles.xml ...

<style name="CustomStyle"> 
    <item name="android:layout_width">match_parent</item> 
    <item name="android:layout_height">match_parent</item> 
    <item name="android:paddingLeft">15dp</item> 
    <item name="android:paddingRight">15dp</item> 
    <item name="android:paddingStart">15dp</item> 
    <item name="android:paddingEnd">15dp</item> 

エラーがpaddingStartpaddingEndにあり、単にプロジェクトのAPIレベルはそれをサポートするために、低レベルにあると述べています。このエラーは、先に追加したlayout.xmlスニペットでは発生しません。

この特定のケースでは、スタイルリソースとレイアウトリソースの違いは何ですか?

+1

はい、まさにあなたは 'paddingRight'と' paddingEnd'の両方を使うことができます。単にエラーを右クリックしてファイル内の無視するを選択することができます。代わりに 'paddingEnd'と同じスタイルで 'values-v17/style.xml'に新しいスタイルファイルを作成することができます。 – Sharj

+1

@sharj that works!ありがとう!あなたが答えとして正しいとすれば、私は先に進み、あなたの答えを受け入れます。 –

答えて

1

はい、正しく使用できます。paddingRight & paddingEndです。単にエラーを右クリックしてファイル内の無視するを選択することができます。代わりに、同じスタイルのpaddingEndでvalues-v17/style.xmlに新しいスタイルファイルを作成することができます

関連する問題