public class pxToDp {
// <dimen name="text_mormal">12sp</dimen>
public static int BASE_DPI = 160;
public static void main(String[] args) {
// xxdpi();
float density_xxhdpi = 480.0f;
float density_xhdpi = 320.0f;
float density_hdpi = 240.0f;
// xxxdpi(density_xxhdpi,"xxhdpi_dimens.xml");
// xxxdpi(density_xhdpi,"xhdpi_dimens.xml");
xxxdpi(density_hdpi,"hdpi_dimens.xml");
}
public static void xxxdpi(float desity,String fileName) {
File file = new File(fileName);
FileWriter fileWritter = null;
BufferedWriter bufferWritter = null;
try {
if (!file.exists()) {
file.createNewFile();
fileWritter = new FileWriter(file.getName(), true);
bufferWritter = new BufferedWriter(fileWritter);
}
} catch (Exception e) {
e.printStackTrace();
}
for (int px = 1; px < 500; px++) {
float dp = px / (desity / BASE_DPI);
// float _px=dp * (density / BASE_DPI);
BigDecimal bd = new BigDecimal(Double.parseDouble("" + dp));
String value = "<dimen name=\"" + px + "px" + "\">" + bd.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue()
+ "dp</dimen>" + "\n";
try {
bufferWritter.write(value);
} catch (IOException e) {
e.printStackTrace();
System.out.println("error");
}
}
try {
bufferWritter.flush();
bufferWritter.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
hdpi_dimens
<dimen name="1px">0.67dp</dimen>
<dimen name="2px">1.33dp</dimen>
<dimen name="3px">2.0dp</dimen>
<dimen name="4px">2.67dp</dimen>
<dimen name="5px">3.33dp</dimen>
<dimen name="6px">4.0dp</dimen>
<dimen name="7px">4.67dp</dimen>
<dimen name="8px">5.33dp</dimen>
<dimen name="9px">6.0dp</dimen>
<dimen name="10px">6.67dp</dimen>
xhdpi_dimens
<dimen name="1px">0.5dp</dimen>
<dimen name="2px">1.0dp</dimen>
<dimen name="3px">1.5dp</dimen>
<dimen name="4px">2.0dp</dimen>
<dimen name="5px">2.5dp</dimen>
<dimen name="6px">3.0dp</dimen>
<dimen name="7px">3.5dp</dimen>
<dimen name="8px">4.0dp</dimen>
<dimen name="9px">4.5dp</dimen>
<dimen name="10px">5.0dp</dimen>
<dimen name="1px">0.33dp</dimen>
<dimen name="2px">0.67dp</dimen>
<dimen name="3px">1.0dp</dimen>
<dimen name="4px">1.33dp</dimen>
<dimen name="5px">1.67dp</dimen>
<dimen name="6px">2.0dp</dimen>
<dimen name="7px">2.33dp</dimen>
<dimen name="8px">2.67dp</dimen>
<dimen name="9px">3.0dp</dimen>
<dimen name="10px">3.33dp</dimen>