mohsen8 815 ارسال شده در 30 فروردین، 2017 اشتراک گذاری ارسال شده در 30 فروردین، 2017 در این آموزش چگونگی ساخت یک پروفایل شخصی در تنظیمات تلفن را می دهیم منظور از پروفایل شخصی اینه که خودتان در خود تنظیمات عکس و نام خود را هر وقت خواستید تغییر بدهید اول از همه فایل زیر را دانلود کنید UPDATED_OWNER_PROFILE_RESOURCES فایلهای زیر را از زیپ جدا کرده >res/layout/profile_info.xml res/drawable/done.xml res/drawable/pick_profile_picture.xml res/drawable-ldpi/done_normal.png res/drawable-ldpi/done_pressed.png res/drawable-ldpi/ic_qs_default_user.png res/drawable-ldpi/ic_settings_owner.png res/drawable-ldpi/pick_profile_normal.png res/drawable-ldpi/pick_profile_pressed.png res/layout/nightwalkerisawesome.xml res/layout/profile_info.xml فایل ستینگ خود را دیکامپایل کنید و فایلهای بالا را در پوشهres قرار بدهید اکنون فایلهای زیر را نیز جدا کرده و در پوشه smali کپی کنید >smali/com/b16h22/Profile.smali smali/com/b16h22/Profile$1.smali smali/com/b16h22/Profile$2.smali smali.com/b16h22/about/ProfilePicture.smali smali/com/b16h22/about/ProfilePicture$1.smali smali/com/b16h22/about/ProfilePicture$2.smali smali/com/b16h22/about/ProfileName.smali smali/com/b16h22/about/ProfileName$1.smali فایل ids.xml را باز کنید و کدهای زیر را در آن قرار بدهید > <item type="id" name="image">false</item> <item type="id" name="owner">false</item> <item type="id" name="linear_layout">false</item> <item type="id" name="profile_pic">false</item> <item type="id" name="layout1">false</item> <item type="id" name="change_picture_text">false</item> <item type="id" name="photo_picker">false</item> <item type="id" name="linear_layout1">false</item> <item type="id" name="layout2">false</item> <item type="id" name="name_field">false</item> <item type="id" name="name_edit">false</item> <item type="id" name="profile">false</item> <item type="id" name="profile_name">false</item> فایل strings.xml را باز و کدهای زیر را قرار دهید ><string name="change_pic">Change profile picture</string> <string name="profile_pic">SET PROFILE PICTURE</string> <string name="profile_name">CHANGE PROFILE NAME</string> اکنون فایل ستینگ خود را ریکامپایل و دوباره کامپایل کنید فایل public.xml را باز کنید کدهای زیر را پیدا کرده و مانند زیر تغییر دهید ><public type="layout" name="profile_info" id="0x7f03005a" /> <public type="drawable" name="ic_qs_default_user" id="0x7f0200b2" /> <public type="id" name="image" id="0x7f0b011b" /> <public type="id" name="owner" id="0x7f0b011c" /> <public type="id" name="photo_picker" id="0x7f0b0121" /> <public type="id" name="name_field" id="0x7f0b0124" /> <public type="id" name="name_edit" id="0x7f0b0125" /> <public type="id" name="profile" id="0x7f09003a" /> <public type="id" name="profile_name" id="0x7f09003b" /> <public type="drawable" name="ic_qs_default_user" id="0x7f02012e" /> فایل smali/com/b16h22/Profile.smali را باز کنید کد زیر را پیدا >.method protected onCreate(Landroid/os/Bundle;)V و کدهای که در public.xml وارد کردید را زیرش اضافه کنید >.method protected onCreate(Landroid/os/Bundle;)V .locals 4 .parameter "savedInstanceState" .prologue .line 27 invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V .line 28 const v2, 0x7f03005a # profile_info invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->setContentView(I)V .line 30 const v2, 0x7f0b0121 #photo_picker invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View; move-result-object v0 check-cast v0, Landroid/widget/ImageView; .line 31 .local v0, photo:Landroid/widget/ImageView; const v2, 0x7f0b011c # owner invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/TextView; iput-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView; .line 32 const v2, 0x7f0b0124 # name_field invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/EditText; iput-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText; .line 33 const v2, 0x7f0b0125 # name_edit invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/ImageView; iput-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView; .line 34 const v2, 0x7f0b011b # image invoke-virtual {p0, v2}, Lcom/b16h22/Profile;->findViewById(I)Landroid/view/View; move-result-object v2 check-cast v2, Landroid/widget/ImageView; iput-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView; .line 37 const-string v2, "EvoPrefsFile" const/4 v3, 0x0 invoke-virtual {p0, v2, v3}, Lcom/b16h22/Profile;->getSharedPreferences(Ljava/lang/String;I)Landroid/content/SharedPreferences; move-result-object v1 .line 38 .local v1, sharedPreferences:Landroid/content/SharedPreferences; const-string v2, "profileName" const-string v3, "null" invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 iput-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String; .line 39 iget-object v2, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String; const-string v3, "null" if-ne v2, v3, :cond_0 .line 40 iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView; const-string v3, "Owner" invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 46 :goto_0 const-string v2, "profilePic" const-string v3, "null" invoke-interface {v1, v2, v3}, Landroid/content/SharedPreferences;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; move-result-object v2 iput-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String; .line 47 iget-object v2, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String; const-string v3, "null" if-ne v2, v3, :cond_1 .line 48 iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView; const v3, 0x7f0200b2 #ic_qs_default_user invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageResource(I)V .line 53 :goto_1 new-instance v2, Lcom/b16h22/Profile$1; invoke-direct {v2, p0}, Lcom/b16h22/Profile$1;-><init>(Lcom/b16h22/Profile;)V invoke-virtual {v0, v2}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 64 iget-object v2, p0, Lcom/b16h22/Profile;->done:Landroid/widget/ImageView; new-instance v3, Lcom/b16h22/Profile$2; invoke-direct {v3, p0}, Lcom/b16h22/Profile$2;-><init>(Lcom/b16h22/Profile;)V invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setOnClickListener(Landroid/view/View$OnClickListener;)V .line 80 return-void .line 42 :cond_0 iget-object v2, p0, Lcom/b16h22/Profile;->owner:Landroid/widget/TextView; iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String; invoke-virtual {v2, v3}, Landroid/widget/TextView;->setText(Ljava/lang/CharSequence;)V .line 43 iget-object v2, p0, Lcom/b16h22/Profile;->name:Landroid/widget/EditText; iget-object v3, p0, Lcom/b16h22/Profile;->profName:Ljava/lang/String; invoke-virtual {v2, v3}, Landroid/widget/EditText;->setText(Ljava/lang/CharSequence;)V goto :goto_0 .line 50 :cond_1 iget-object v2, p0, Lcom/b16h22/Profile;->imageView:Landroid/widget/ImageView; iget-object v3, p0, Lcom/b16h22/Profile;->imageUri:Ljava/lang/String; invoke-static {v3}, Landroid/net/Uri;->parse(Ljava/lang/String;)Landroid/net/Uri; move-result-object v3 invoke-virtual {v2, v3}, Landroid/widget/ImageView;->setImageURI(Landroid/net/Uri;)V goto :goto_1 .end method فایل smali/com/b16h22/statusbar/ProfilePicture.smali را باز کنید کد زیر را پیدا کنید >.line 21 const v4, 0x7f09003a با ایدی پروفایل خود جایگزین کنید کد زیر را پیدا کنید >const v5, 0x7f02012e با ایدی ic_qs_default_user جایگزینش کنید فایل smali/com/b16h22/statusbar/ProfilePicture$1.smali را باز کنید کد زیر را پیدا کنید >.line 19 const v2, 0x7f09003b با ایدی profile_name جایگزینش کنید اکنون settings_header.xml یا dashboard_categories.xml را باز کنید کد زیر را اضافه کنید ><header android:icon="@drawable/ic_owner_settings" android:title="Owner Profile"> <intent android:targetPackage="com.android.settings" android:action="android.intent.action.MAIN" android:targetClass="com.b16h22.Profile" /> </header> کد زیر را نیز در device_info_settings.xml اضافه کنید ><PreferenceCategory android:title=" INFO " /> <Preference android:focusable="false" android:clickable="true" android:fragment=Add your App Package android:layout="@layout/nightwalkerisawesome " /> فعالیت زیر را نیر در androidmanifest.xml وارد کنید ><activity android:label="@string/change_pic" android:name="com.b16h22.Profile"> <intent-filter> <action android:name="android.intent.action.MAIN" /> </intent-filter> </activity> کار تمام شد موفق باشید لینک آموزش در پرتال سایت لینک ارسال
meysamkia 11 ارسال شده در 31 فروردین، 2017 اشتراک گذاری ارسال شده در 31 فروردین، 2017 سلام اگر امکانش هست یه اموزش برای تغیر رنگ پس زمینه ستینگ بزارید ممنون لینک ارسال
mohsen8 815 ارسال شده در 31 فروردین، 2017 مالک اشتراک گذاری ارسال شده در 31 فروردین، 2017 سلام اگر امکانش هست یه اموزش برای تغیر رنگ پس زمینه ستینگ بزارید ممنون سلام دوست عزیز تغییر رنگ پس زمینه ستینگ بر روی تقریبا همه برنامه های اصلی گوشی تاثیر داره ممکن کمی نامتمایز بشه چون درون فایل framework-res.apk ذخیره شده حالا سر فرصت آموزشش رو قرار می دم لینک ارسال
ارسال های توصیه شده
بایگانی شده
این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.