yoyocx

Dialog Dengan Layout di SettingsActivity BBM

Nov 30th, 2015
269
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 7.01 KB | None | 0 0
  1. 1. Masukkan di dalam # instance fields
  2.  
  3. .field final context:Landroid/content/Context;
  4.  
  5. 2. Masukkan di dalam .method public constructor <init>()V
  6.  
  7. .line 28
  8. iput-object p0, p0, Lcom/bbm/ui/activities/SettingsActivity;->context:Landroid/content/Context;
  9.  
  10. 3. Masukkan di dalam # direct methods
  11.  
  12. .method private alertDialog()V
  13. .locals 4
  14.  
  15. .prologue
  16. .line 125
  17. new-instance v0, Landroid/app/Dialog;
  18.  
  19. iget-object v2, p0, Lcom/bbm/ui/activities/SettingsActivity;->context:Landroid/content/Context;
  20.  
  21. invoke-direct {v0, v2}, Landroid/app/Dialog;-><init>(Landroid/content/Context;)V
  22.  
  23. .line 126
  24. .local v0, "dialog":Landroid/app/Dialog;
  25. const/4 v2, 0x1
  26.  
  27. invoke-virtual {v0, v2}, Landroid/app/Dialog;->requestWindowFeature(I)Z
  28.  
  29. .line 127
  30. const-string v2, "about_dialog"
  31.  
  32. const-string v3, "layout"
  33.  
  34. invoke-virtual {p0, v2, v3}, Lcom/bbm/ui/activities/SettingsActivity;->getID(Ljava/lang/String;Ljava/lang/String;)I
  35.  
  36. move-result v2
  37.  
  38. invoke-virtual {v0, v2}, Landroid/app/Dialog;->setContentView(I)V
  39.  
  40. .line 129
  41. const-string v2, "btnOk"
  42.  
  43. const-string v3, "id"
  44.  
  45. invoke-virtual {p0, v2, v3}, Lcom/bbm/ui/activities/SettingsActivity;->getID(Ljava/lang/String;Ljava/lang/String;)I
  46.  
  47. move-result v2
  48.  
  49. invoke-virtual {v0, v2}, Landroid/app/Dialog;->findViewById(I)Landroid/view/View;
  50.  
  51. move-result-object v1
  52.  
  53. check-cast v1, Landroid/widget/Button;
  54.  
  55. .line 130
  56. .local v1, "dialogButton":Landroid/widget/Button;
  57. new-instance v2, Lcom/bbm/ui/activities/SettingsActivity$1;
  58.  
  59. invoke-direct {v2, p0, v0}, Lcom/bbm/ui/activities/SettingsActivity$1;-><init>(Lcom/bbm/ui/activities/SettingsActivity;Landroid/app/Dialog;)V
  60.  
  61. invoke-virtual {v1, v2}, Landroid/widget/Button;->setOnClickListener(Landroid/view/View$OnClickListener;)V
  62.  
  63. .line 137
  64. invoke-virtual {v0}, Landroid/app/Dialog;->show()V
  65.  
  66. .line 139
  67. return-void
  68. .end method
  69.  
  70.  
  71. 4. Masukkan di dalam # virtual methods
  72.  
  73. .method public btnDialog(Landroid/view/View;)V
  74. .locals 0
  75. .param p1, "v" # Landroid/view/View;
  76.  
  77. .prologue
  78. .line 142
  79. invoke-direct {p0}, Lcom/bbm/ui/activities/SettingsActivity;->alertDialog()V
  80.  
  81. .line 143
  82. return-void
  83. .end method
  84.  
  85. .method public getID(Ljava/lang/String;Ljava/lang/String;)I
  86. .locals 2
  87. .param p1, "name" # Ljava/lang/String;
  88. .param p2, "Type" # Ljava/lang/String;
  89.  
  90. .prologue
  91. .line 34
  92. invoke-virtual {p0}, Lcom/bbm/ui/activities/SettingsActivity;->getBaseContext()Landroid/content/Context;
  93.  
  94. move-result-object v0
  95.  
  96. invoke-virtual {v0}, Landroid/content/Context;->getResources()Landroid/content/res/Resources;
  97.  
  98. move-result-object v0
  99.  
  100. invoke-virtual {p0}, Lcom/bbm/ui/activities/SettingsActivity;->getBaseContext()Landroid/content/Context;
  101.  
  102. move-result-object v1
  103.  
  104. invoke-virtual {v1}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
  105.  
  106. move-result-object v1
  107.  
  108. invoke-virtual {v0, p1, p2, v1}, Landroid/content/res/Resources;->getIdentifier(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)I
  109.  
  110. move-result v0
  111.  
  112. return v0
  113. .end method
  114.  
  115. 5. Bikin smali baru dengan nama SettingsActivity$1.smali isikan dengan kode berikut :
  116.  
  117. .class Lcom/bbm/ui/activities/SettingsActivity$1;
  118. .super Ljava/lang/Object;
  119. .source "SettingsActivity.java"
  120.  
  121. # interfaces
  122. .implements Landroid/view/View$OnClickListener;
  123.  
  124.  
  125. # annotations
  126. .annotation system Ldalvik/annotation/EnclosingMethod;
  127. value = Lcom/bbm/ui/activities/SettingsActivity;->alertDialog()V
  128. .end annotation
  129.  
  130. .annotation system Ldalvik/annotation/InnerClass;
  131. accessFlags = 0x0
  132. name = null
  133. .end annotation
  134.  
  135.  
  136. # instance fields
  137. .field final synthetic this$0:Lcom/bbm/ui/activities/SettingsActivity;
  138.  
  139. .field final synthetic val$dialog:Landroid/app/Dialog;
  140.  
  141.  
  142. # direct methods
  143. .method constructor <init>(Lcom/bbm/ui/activities/SettingsActivity;Landroid/app/Dialog;)V
  144. .locals 0
  145.  
  146. .prologue
  147. .line 130
  148. iput-object p1, p0, Lcom/bbm/ui/activities/SettingsActivity$1;->this$0:Lcom/bbm/ui/activities/SettingsActivity;
  149.  
  150. iput-object p2, p0, Lcom/bbm/ui/activities/SettingsActivity$1;->val$dialog:Landroid/app/Dialog;
  151.  
  152. invoke-direct {p0}, Ljava/lang/Object;-><init>()V
  153.  
  154. return-void
  155. .end method
  156.  
  157.  
  158. # virtual methods
  159. .method public onClick(Landroid/view/View;)V
  160. .locals 1
  161. .param p1, "v" # Landroid/view/View;
  162.  
  163. .prologue
  164. .line 133
  165. iget-object v0, p0, Lcom/bbm/ui/activities/SettingsActivity$1;->val$dialog:Landroid/app/Dialog;
  166.  
  167. invoke-virtual {v0}, Landroid/app/Dialog;->dismiss()V
  168.  
  169. .line 134
  170. return-void
  171. .end method
  172.  
  173.  
  174. 6. Bikin layout baru dengan nama about_dialog.xml dan isi dengan kode berikut :
  175.  
  176. <?xml version="1.0" encoding="utf-8"?>
  177. <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content"
  178. xmlns:android="http://schemas.android.com/apk/res/android">
  179. <TextView android:textAppearance="?android:textAppearanceMedium" android:textStyle="bold" android:gravity="center" android:id="@+id/dialogTitle" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_marginTop="10.0dip" android:text="TENTANG" />
  180. <LinearLayout android:layout_width="fill_parent" android:layout_height="90.0dip">
  181. <ScrollView android:layout_width="fill_parent" android:layout_height="fill_parent">
  182. <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent">
  183. <TextView android:gravity="center" android:id="@+id/txtTentang" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TextView 1" />
  184. <TextView android:gravity="center" android:id="@+id/txtCredit" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="TextView 2" />
  185. </LinearLayout>
  186. </ScrollView>
  187. </LinearLayout>
  188. <RelativeLayout android:gravity="center" android:layout_width="fill_parent" android:layout_height="wrap_content">
  189. <ImageView android:layout_gravity="center" android:id="@+id/iconImage" android:layout_width="wrap_content" android:layout_height="wrap_content" android:src="@drawable/delta" />
  190. </RelativeLayout>
  191. <TextView android:gravity="center" android:id="@+id/txtDiaMsg" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="www.deltacomputindo.com" />
  192. <Button android:textStyle="bold" android:gravity="center" android:id="@+id/btnOk" android:padding="5.0dip" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_margin="5.0dip" android:text="OK" />
  193. </LinearLayout>
  194.  
  195.  
  196. 7. Buka layout activitysetting.xml dan tambahkan kode berikut :
  197.  
  198. <Button android:text="Show Dialog" android:layout_width="fill_parent" android:layout_height="wrap_content" android:onClick="btnDialog" />
Advertisement
Add Comment
Please, Sign In to add comment