यह उदाहरण दर्शाता है कि Android में पिक्सल को DP (Density-independent Pixels) में कैसे बदला जाता है। DP एक ऐसी यूनिट है जो स्क्रीन डेंसिटी के आधार पर खुद को एडजस्ट करती है, जिससे UI विभिन्न स्क्रीन साइज़ पर समान दिखता है।
चरण 1: नया प्रोजेक्ट बनाएं
Android Studio खोलें, File → New Project पर जाएं और आवश्यक विवरण भरकर एक नया प्रोजेक्ट बनाएं।
चरण 2: लेआउट XML में कोड जोड़ें
res/layout/activity_main.xml में निम्न कोड जोड़ें:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="https://schemas.android.com/apk/res/android"
xmlns:tools="https://schemas.android.com/tools"
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="10dp"
tools:context=".MainActivity">
<Button
android:id="@+id/btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Convert Pixels to DPs"
android:layout_centerInParent="true" />
<TextView
android:id="@+id/tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:fontFamily="Sans-Serif-Condensed"
android:textSize="14dp"
android:layout_below="@id/btn"
android:textStyle="italic"
android:textColor="#ff0000" />
</RelativeLayout>
चरण 3: MainActivity.java में लॉजिक जोड़ें
src/MainActivity.java में निम्न कोड जोड़ें:
import android.content.Context;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.RelativeLayout;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final RelativeLayout rl = findViewById(R.id.rl);
final Button btn = findViewById(R.id.btn);
final TextView tv = findViewById(R.id.tv);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int pixels_one = 38;
int pixels_two = 43;
Context context = getApplicationContext();
tv.setText("Convert Pixels to integer DPs value: \n"
+ pixels_one + "pixels = " + getDPsFromPixels(context, pixels_one) + "dp\n"
+ pixels_two + "pixels = " + getDPsFromPixels(context, pixels_two) + "\n");
tv.setText(tv.getText() + "Convert Pixels to perfect DPs value: \n"
+ pixels_one + "pixels = " + getActualDPsFromPixels(context, pixels_one)
+ "dp\n" + pixels_one + "pixels = " + getActualDPsFromPixels(context, pixels_one));
}
});
}
public static int getDPsFromPixels(Context context, int pixels) {
Resources r = context.getResources();
int dps = Math.round(pixels / (r.getDisplayMetrics().densityDpi / 160f));
return dps;
}
public static float getActualDPsFromPixels(Context context, int pixels) {
Resources r = context.getResources();
float dps = pixels / (r.getDisplayMetrics().densityDpi / 160f);
return dps;
}
}
चरण 4: AndroidManifest.xml कॉन्फ़िगर करें
androidManifest.xml में निम्न कोड सुनिश्चित करें:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="https://schemas.android.com/apk/res/android" package="app.com.sample">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
ऐप चलाएं
अपने Android डिवाइस को कंप्यूटर से कनेक्ट करें। Android Studio में प्रोजेक्ट की एक्टिविटी फाइल खोलें और टूलबार से Run आइकन पर क्लिक करें। अपना मोबाइल डिवाइस चुनें और आउटपुट देखें।

