增加app显示页面,修改拨号颜色

This commit is contained in:
2025-10-27 09:15:41 +08:00
parent a9a89a3574
commit 56341f6888
8 changed files with 269 additions and 162 deletions

View File

@@ -2,6 +2,10 @@
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.ttstd.dialer">
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />
<uses-permission android:name="android.permission.INSTALL_PACKAGES" />
<uses-permission android:name="android.permission.DELETE_PACKAGES" />
<uses-permission android:name="android.permission.GET_PACKAGE_SIZE" />
<uses-permission android:name="android.permission.CALL_PHONE" />

View File

@@ -1,5 +1,7 @@
package com.ttstd.dialer.activity.main;
import android.util.Log;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
@@ -19,6 +21,7 @@ import java.util.ArrayList;
import java.util.List;
public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBinding> {
private static final String TAG = "MainActivity";
protected MMKV mMMKV = MMKV.mmkvWithID(CommonConfig.MMKV_ID, MMKV.MULTI_PROCESS_MODE);
private FragmentManager mFragmentManager = getSupportFragmentManager();
@@ -29,6 +32,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
private ContactFragment mContactFragment;
private int mCurrentIndex = 0;
private int mFragmentSize = 0;
private ScaleCircleNavigator mScaleCircleNavigator;
@@ -63,6 +67,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
if (mContactFragment == null) {
mContactFragment = new ContactFragment();
mFragments.add(mContactFragment);
mFragmentSize += 1;
}
boolean contactHome = mMMKV.decodeBool(CommonConfig.CONTACT_HOME_PAGE, false);
@@ -72,6 +77,7 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
if (mHomeFragment == null) {
mHomeFragment = new HomeFragment();
mFragments.add(mHomeFragment);
mFragmentSize += 1;
}
@@ -99,6 +105,17 @@ public class MainActivity extends BaseMvvmActivity<MainViewModel, ActivityMainBi
}
@Override
protected void onResume() {
super.onResume();
Log.e(TAG, "onResume: ");
setAppList();
}
private void setAppList() {
}
public class BtnClick {
}

View File

@@ -0,0 +1,45 @@
package com.ttstd.dialer.fragment.app;
import android.app.Activity;
import android.os.Bundle;
import com.ttstd.dialer.R;
import com.ttstd.dialer.base.mvvm.fragment.BaseMvvmFragment;
import com.ttstd.dialer.databinding.FragmentAppBinding;
public class AppFragment extends BaseMvvmFragment<AppViewModel, FragmentAppBinding> {
private Activity mContext;
@Override
protected int getLayoutId() {
return R.layout.fragment_app;
}
@Override
protected void initDataBinding() {
mContext = getActivity();
mViewModel.setContext(mContext);
mViewModel.setVDBinding(mViewDataBinding);
mViewModel.setLifecycle(getLifecycleSubject());
mViewDataBinding.setClick(new BtnClick());
}
@Override
protected void initView(Bundle bundle) {
}
@Override
protected void initData(Bundle savedInstanceState) {
}
@Override
public void fetchData() {
}
public class BtnClick{
}
}

View File

@@ -0,0 +1,10 @@
package com.ttstd.dialer.fragment.app;
import com.trello.rxlifecycle4.android.FragmentEvent;
import com.ttstd.dialer.base.mvvm.BaseViewModel;
import com.ttstd.dialer.databinding.FragmentAppBinding;
public class AppViewModel extends BaseViewModel<FragmentAppBinding, FragmentEvent> {
}

View File

@@ -4,7 +4,7 @@
<!-- 圆角的幅度 -->
<corners android:radius="@dimen/default_radius" />
<solid android:color="#3F51B5" />
<solid android:color="#03A9F4" />
<!-- <gradient-->
<!-- android:angle="270"-->

View File

@@ -4,7 +4,7 @@
<!-- 圆角的幅度 -->
<corners android:radius="@dimen/default_radius" />
<solid android:color="#2196F3" />
<solid android:color="#FFEB3B" />
<!-- <gradient-->
<!-- android:angle="270"-->

View File

@@ -0,0 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context=".fragment.app.AppFragment">
<data>
<variable
name="click"
type="com.ttstd.dialer.fragment.app.AppFragment.BtnClick" />
</data>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

View File

@@ -27,7 +27,7 @@
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:layout_weight="3"
android:orientation="horizontal">
<TextView
@@ -40,7 +40,7 @@
android:shadowRadius="2"
android:text="00:00"
android:textColor="@color/black"
android:textSize="50sp"
android:textSize="55sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
@@ -53,193 +53,202 @@
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
android:layout_weight="4"
android:orientation="vertical">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openContact}"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_contact"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="联系人"
android:textStyle="bold"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
app:layout_constraintEnd_toEndOf="@+id/niceImageView1"
app:layout_constraintStart_toStartOf="@+id/niceImageView1"
app:layout_constraintTop_toBottomOf="@+id/niceImageView1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:onClick="@{click::openSettings}"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openContact}"
android:orientation="horizontal">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_settings"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="设置"
android:textStyle="bold"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
app:layout_constraintEnd_toEndOf="@+id/niceImageView2"
app:layout_constraintStart_toStartOf="@+id/niceImageView2"
app:layout_constraintTop_toBottomOf="@+id/niceImageView2" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView1"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_contact"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="联系人"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/niceImageView1"
app:layout_constraintStart_toStartOf="@+id/niceImageView1"
app:layout_constraintTop_toBottomOf="@+id/niceImageView1" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openDouyin}"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openSettings}"
android:orientation="horizontal">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_douyin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:textStyle="bold"
android:text="微信"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
app:layout_constraintEnd_toEndOf="@+id/niceImageView3"
app:layout_constraintStart_toStartOf="@+id/niceImageView3"
app:layout_constraintTop_toBottomOf="@+id/niceImageView3" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView2"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_settings"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="设置"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/niceImageView2"
app:layout_constraintStart_toStartOf="@+id/niceImageView2"
app:layout_constraintTop_toBottomOf="@+id/niceImageView2" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:onClick="@{click::openWeixin}"
<LinearLayout
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openDouyin}"
android:orientation="horizontal">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:textStyle="bold"
android:scaleType="centerCrop"
android:src="@drawable/ic_weixin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="抖音"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
app:layout_constraintEnd_toEndOf="@+id/niceImageView4"
app:layout_constraintStart_toStartOf="@+id/niceImageView4"
app:layout_constraintTop_toBottomOf="@+id/niceImageView4" />
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView3"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_douyin"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="微信"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/niceImageView3"
app:layout_constraintStart_toStartOf="@+id/niceImageView3"
app:layout_constraintTop_toBottomOf="@+id/niceImageView3" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:onClick="@{click::openWeixin}"
android:orientation="horizontal">
<androidx.constraintlayout.widget.ConstraintLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent">
<com.shehuan.niv.NiceImageView
android:id="@+id/niceImageView4"
android:layout_width="100dp"
android:layout_height="100dp"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:src="@drawable/ic_weixin"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="8dp"
android:maxLines="1"
android:singleLine="true"
android:text="抖音"
android:textColor="@color/black"
android:textSize="@dimen/home_item_text_size"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="@+id/niceImageView4"
app:layout_constraintStart_toStartOf="@+id/niceImageView4"
app:layout_constraintTop_toBottomOf="@+id/niceImageView4" />
</androidx.constraintlayout.widget.ConstraintLayout>
</androidx.constraintlayout.widget.ConstraintLayout>
</LinearLayout>
</LinearLayout>