Thứ Ba, 2 tháng 10, 2018

TUT mod tab 2 layout 1 button

TUT mod tab 2 layout 1 button

heLLO :
Tutorial :

1. Decompile UI (ĐƯơng nhiên rồi)
2. Chép tất cả mục ở smali và res vào đúng đường dẫn
3. Thêm code này vào values/ids.xml

   <item type="id" name="zhiedd_button">false</item>
   thêm code này vào  expanded

<com.zhiedd.SenzuLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
        <LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
            (layout cần chuyển)
        </LinearLayout>
            <RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false">
            &ndocument.getElementById('spoiler') .style.display=='none') {document.getElementById('spoiler') .style.display=''}else{bsp;   ( layout chính)
      &}bsp;     </RelativeLayout>
        </com.zhiedd.SenzuLayout>
    </com.android.systemui.statusbar.ExpandedView>

đây là ví dụ

<?xml version="1.0" encoding="utf-8"?>
    <com.android.systemui.statusbar.ExpandedView android:orientation="vertical" android:focusable="true" android:descendantFocusability="afterDescendants"
        xmlns:android="http://schemas.android.com/apk/res/android">
        <RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false">
            <include layout="@layout/kit_header" /> (phần header )
        </RelativeLayout>
<com.zhiedd.SenzuLayout android:layout_width="fill_parent" android:layout_height="fill_parent">
<LinearLayout android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="wrap_content">
<include layout="@layout/volume_sliders" /> ( layout cần chuyển )
</LinearLayout>
<RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:baselineAligned="false">
<ScrollView android:id="@id/scroll" android:fadingEdge="none" android:layout_width="fill_parent" android:layout_height="wrap_content" android:overScrollMode="ifContentScrolls">
<com.android.systemui.statusbar.NotificationLinearLayout android:orientation="vertical" android:id="@id/notificationLinearLayout" android:layout_width="fill_parent" android:layout_height="wrap_content">
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/noNotificationsTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_no_notifications_title" />
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/ongoingTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_ongoing_events_title" />
phần dưới layout cần chuyển <LinearLayout android:orientation="vertical" android:id="@id/ongoingItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
   là layout chín <RelativeLayout android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="26.0dip">
<TextView android:textSize="17.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:id="@id/latestTitle" android:background="@drawable/quickpanel_title_background" android:paddingLeft="5.0dip" android:layout_width="fill_parent" android:layout_height="26.0dip" android:text="@string/status_bar_latest_events_title" android:layout_alignParentLeft="true" />
<Button android:textSize="14.0sp" android:textStyle="normal" android:textColor="#ffffffff" android:layout_gravity="center_vertical" android:id="@id/clear_all_button" android:background="@drawable/tombol_hapus" android:layout_width="84.0dip" android:layout_height="fill_parent" android:text="@string/status_bar_clear_all_button" android:layout_alignParentRight="true" />
</RelativeLayout>
<LinearLayout android:orientation="vertical" android:id="@id/latestItems" android:layout_width="fill_parent" android:layout_height="wrap_content" />
<ImageView android:layout_width="fill_parent" android:layout_height="240.0px" android:src="@drawable/blank" />
</com.android.systemui.statusbar.NotificationLinearLayout>
</ScrollView>
</RelativeLayout>
</com.zhiedd.SenzuLayout>
</com.android.systemui.statusbar.ExpandedView>
4. thêm dòng này vào header

<com.zhiedd.SenzuButton android:gravity="bottom" android:layout_gravity="right" android:id="@id/zhiedd_button" android:layout_width="31.0px" android:layout_height="33.0px" android:layout_marginRight="0.0px" android:layout_alignParentRight="true" />
sẽ ra giống như này

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout android:orientation="horizontal" android:background="@drawable/begron_header" android:layout_width="fill_parent" android:layout_height="48.0dip" android:baselineAligned="false"
 xmlns:android="http://schemas.android.com/apk/res/android">
<RelativeLayout android:orientation="horizontal" android:id="@id/clockdate" android:layout_width="fill_parent" android:layout_height="48.0dip" android:baselineAligned="false" android:layout_alignParentLeft="true">
<com.android.systemui.statusbar.policy.DigitalClock android:gravity="left|center" android:id="@id/clock" android:layout_width="wrap_content" android:layout_height="48.0dip" android:layout_marginLeft="4.0dip" android:layout_alignParentLeft="true">
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:ellipsize="none" android:gravity="center" android:id="@id/timeDisplayBackground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" />
<TextView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Clock" android:ellipsize="none" android:gravity="center" android:id="@id/timeDisplayForeground" android:layout_width="wrap_content" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignLeft="@id/timeDisplayBackground" android:layout_alignTop="@id/timeDisplayBackground" />
</com.android.systemui.statusbar.policy.DigitalClock>
<com.android.systemui.statusbar.policy.DateView android:textAppearance="@style/TextAppearance.StatusBar.Expanded.Date" android:gravity="left|center" android:id="@id/date" android:layout_width="wrap_content" android:layout_height="48.0dip" android:layout_marginLeft="7.0dip" android:layout_toRightOf="@id/clock" />
<com.zhiedd.SenzuButton android:gravity="bottom" android:layout_gravity="right" android:id="@id/zhiedd_button" android:layout_width="31.0px" android:layout_height="33.0px" android:layout_marginRight="0.0px" android:layout_alignParentRight="true" />
</RelativeLayout>
</RelativeLayout>
5. lưu lại và compile
6. Decompile UI vừa mới recompile tìm public

  mở public.xml tìm 2 dòng này chú í phần id phía sau

  <public type="drawable" name="leot_home_button" id="0x7f020xxx" />
       <public type="drawable" name="leot_notif_button" id="0x7f020xxx" />



  mở  SenzuButton.smali

  tìm
  ( const v3, 0x7f02009d )
 thay thế id này 0x7f02009d bằng id ở dòng này <public type="drawable" name="leot_home_button" id="0x7f020xxx" />

  tìm
  ( const v3, 0x7f02009e )
  thay thế id này 0x7f02009e bằng id ở dòng này <public type="drawable" name="leot_notif_button" id="0x7f020xxx" />


7. Save, Compile



    *GOOD LUCK

2layout_1buntom.zip
copecute File Size 23 KB