کم کردن نور چراغ صفحه ی گوشی در اندروید

سه شنبه 13 تیر 1396

در این مقاله قصد داریم یک نمونه برای شما قرار دهیم که شما با استفاده از نوار ابزار اندروید می توانید نور صفحه ی گوشی خودتان را زیاد یا کم کنید به اینگونه که با استفاده از seekbar نور صفحه در گوشی تان کم می شود.

کم کردن نور چراغ صفحه ی گوشی در اندروید

در این نمونه با استفاده از تابع setOnSeekBarChangeListener() می توانید نور صفحه تان را کم نمایید همان طور که می دانید برای کم کردن نور صفحه ی گوشی در قسمت نوار ابزار وجود دارد ولی با استفاده از این تابع می توانید این دسترسی را به اپلیکیشن های خود بدهید که از داخل اپلیکیشن نور صفحه کم شود.

ابتدا باید مجوز دسترسی زیر را در androidmanifest قرار دهید

<uses-permission android:name="android.permission.WRITE_SETTINGS"/>

حالا باید کلاس مورد نظر را بنویسید:

import android.app.Activity;
import android.content.Context;
import android.os.Bundle;
import android.widget.SeekBar;
import android.widget.TextView;
import android.widget.Toast;
import android.provider.Settings;

public class MainActivity extends Activity {

 SeekBar seekbar;
 TextView progress;
 Context context;
 int Brightness;
 @Override
 protected void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.activity_main);
 
 seekbar = (SeekBar)findViewById(R.id.seekBar1);
 progress = (TextView)findViewById(R.id.textView1);
 context = getApplicationContext();
 
 //Getting Current screen brightness.
 Brightness = Settings.System.getInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,0
 );
 
 //Setting up current screen brightness to seekbar;
 seekbar.setProgress(Brightness);
 
 //Setting up current screen brightness to TextView;
 progress.setText("Screen Brightness : " + Brightness);
 
 seekbar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() {
 @Override
 public void onProgressChanged(SeekBar seekBar, int i, boolean b) {
 
 progress.setText("Screen Brightness : " + i);

 //Changing Brightness on seekbar movement.

 Settings.System.putInt(context.getContentResolver(),Settings.System.SCREEN_BRIGHTNESS,i
 );
 }

 @Override
 public void onStartTrackingTouch(SeekBar seekBar) {

 }

 @Override
 public void onStopTrackingTouch(SeekBar seekBar) {

 }
 });
 
 }
}

در قسمت layout قطعه کد زیر را قرار دهید:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
 xmlns:tools="http://schemas.android.com/tools"
 android:layout_width="match_parent"
 android:layout_height="match_parent"
 android:paddingBottom="@dimen/activity_vertical_margin"
 android:paddingLeft="@dimen/activity_horizontal_margin"
 android:paddingRight="@dimen/activity_horizontal_margin"
 android:paddingTop="@dimen/activity_vertical_margin"
 tools:context="com.setscreenbrightness_android_examples.com.MainActivity"
 android:id="@+id/relativelayout" >

 <SeekBar
 android:id="@+id/seekBar1"
 android:layout_width="match_parent"
 android:layout_height="wrap_content"
 android:layout_alignParentLeft="true"
 android:layout_centerVertical="true"
 android:max="255" />

 <TextView
 android:id="@+id/textView1"
 android:layout_width="wrap_content"
 android:layout_height="wrap_content"
 android:layout_above="@+id/seekBar1"
 android:layout_centerHorizontal="true"
 android:layout_marginBottom="16dp"
 android:text="Progress"
 android:textAppearance="?android:attr/textAppearanceLarge" />

</RelativeLayout>

خروجی به وصرت زیر است

برنامه نویسان

نویسنده 3355 مقاله در برنامه نویسان

کاربرانی که از نویسنده این مقاله تشکر کرده اند

در صورتی که در رابطه با این مقاله سوالی دارید، در تاپیک های انجمن مطرح کنید