Androidはshapeを使って枠のある背景を作る方法で収集整理します
27207 ワード
方法1
方法3は、高得点スクリーンの下で問題がある可能性があり、解決策は-1 dpを-1 pxに変えることです.最良の方法は、異なる密度スクリーンに異なる密度リソースファイル(dimension resources)dimensを設定することである.xml
方法5
方法6
1: A border.xml shape, which is just a solid shape in the color of your border: border.xml
2: The 'inner' shape, the shape where you want the border to appear around: inner.xml
3: A layer list, which will put these 2 on top of eachother. You create the border by setting the padding on the inner shape: layerlist.xml
方法7で最も長くよく使われる方法は、9-patchファイルを使用することです.これはshapeに属しません.
まとめ:方法1 3 6原理はほぼ同じであるべきである
xmlns:android="http://schemas.android.com/apk/res/android">
android:color="#535353" />
- android:bottom="1dp">
android:color="#252525" />
方法2 xmlns:android="http://schemas.android.com/apk/res/android">
android:left="0dp" android:top="1dp" android:right="0dp" android:bottom="1dp"/>
android:color="#898989" />
android:color="#ffffff" />
方法3は、高得点スクリーンの下で問題がある可能性があり、解決策は-1 dpを-1 pxに変えることです.最良の方法は、異なる密度スクリーンに異なる密度リソースファイル(dimension resources)dimensを設定することである.xml
xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android">
- android:top="-1dp" android:right="-1dp" android:left="-1dp">
android:color="@android:color/transparent" />
android:width="1dp" android:color="#ffffff" />
メソッド4、これはhack、angle 0=left 90=bottom 180=right 270=topであるべきであるxml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
android:shape="rectangle">
android:angle="0"
android:startColor="#f00"
android:centerColor="@android:color/transparent"
android:centerX="0.01" />
方法5
xml version="1.0" encoding="utf-8"?>
xmlns:android="http://schemas.android.com/apk/res/android"
android:insetTop="-2dp"
android:insetBottom="-2dp"
android:insetLeft="-2dp">
android:shape="rectangle">
android:width="2dp" android:color="#FF0000" />
android:color="#000000" />
方法6
1: A border.xml shape, which is just a solid shape in the color of your border: border.xml
xml version="1.0" encoding="UTF-8"?>
xmlns:android="http://schemas.android.com/apk/res/android">
android:color="#ff0000"/>
2: The 'inner' shape, the shape where you want the border to appear around: inner.xml
xml version="1.0" encoding="UTF-8"?>
xmlns:android="http://schemas.android.com/apk/res/android">
android:color="#00ff00"/>
3: A layer list, which will put these 2 on top of eachother. You create the border by setting the padding on the inner shape: layerlist.xml
xml version="1.0" encoding="UTF-8"?>
xmlns:android="http://schemas.android.com/apk/res/android">
- android:drawable="@drawable/border"/>
- android:drawable="@drawable/inner"
android:top="3dp" android:right="0dp" android:bottom="3dp"
android:left="3dp" />
方法7で最も長くよく使われる方法は、9-patchファイルを使用することです.これはshapeに属しません.
まとめ:方法1 3 6原理はほぼ同じであるべきである