Koltin34,完整PDF

class BusinessActivity : AppCompatActivity() {

override fun onCreate(savedInstanceState: Bundle?) {

super.onCreate(savedInstanceState)

setContentView(R.layout.activity_business)

//微调底部的导航栏适配

if (checkDeviceHasNavigationBar(this)) {

fl_Container.setPadding(0, 0, 0, 48.dp2px())

}

vp.adapter = BusinessFragmentPagerAdapter()

tabs.setupWithViewPager(vp)

}

val fragments = listOf(GoodsFragment(), SellerFragment(), CommentsFragment())

val titles = listOf(“商品”, “商家”, “评论”)

/**

  • 把转化功能添加到Int类中作为扩展函数

*/

fun Int.dp2px(): Int {

return TypedValue.applyDimension(

TypedValue.COMPLEX_UNIT_DIP,

toFloat(), resources.displayMetrics

).toInt()

}

//获取是否存在NavigationBar

fun checkDeviceHasNavigationBar(context: Context): Boolean {

var hasNavigationBar = false

val rs = context.getResources()

val id = rs.getIdentifier(“config_showNavigationBar”, “bool”, “android”)

if (id > 0) {

hasNavigationBar = rs.getBoolean(id)

}

try {

val systemPropertiesClass = Class.forName(“android.os.SystemProperties”)

val m = systemPropertiesClass.getMethod(“get”, String::class.java)

val navBarOverride = m.invoke(systemPropertiesClass, “qemu.hw.mainkeys”) as String

if (“1” == navBarOverride) {

hasNavigationBar = false

} else if (“0” == navBarOverride) {

hasNavigationBar = true

}

} catch (e: Exception) {

}

return hasNavigationBar

}

inner class BusinessFragmentPagerAdapter : FragmentPagerAdapter(supportFragmentManager) {

override fun getPageTitle(position: Int): CharSequence {

return titles.get(position)

}

override fun getItem(position: Int): Fragment {

return fragments.get(position)

}

override fun getCount(): Int {

return titles.size

}

}

}

CommentsFragment.kt评论界面

package com.example.takeout.ui.fragment

import android.graphics.Color

import android.os.Bundle

import android.view.Gravity

import android.view.LayoutInflater

import android.view.View

import android.view.ViewGroup

import android.widget.TextView

import androidx.fragment.app.Fragment

/**

  • 详情页,评论界面

*/

class CommentsFragment : Fragment() {

override fun onCreateView(

inflater: LayoutInflater,

container: ViewGroup?,

savedInstanceState: Bundle?

): View? {

val sellerView = TextView(activity)

sellerView.text = “评论”

sellerView.gravity = Gravity.CENTER

sellerView.setTextColor(Color.BLACK)

return sellerView

}

}

GoodsFragment.kt商品界面

package com.example.takeout.ui.fragment

import android.graphics.Color

import android.os.Bundle

import android.view.Gravity

import android.view.LayoutInflater

import android.view.View

import android.view.ViewGroup

import android.widget.TextView

import androidx.fragment.app.Fragment

/**

  • 详情页商品列表界面

*/

class GoodsFragment : Fragment() {

override fun onCreateView(

inflater: LayoutInflater,

container: ViewGroup?,

savedInstanceState: Bundle?

): View? {

val sellerView = TextView(activity)

sellerView.text = “产品”

sellerView.gravity = Gravity.CENTER

sellerView.setTextColor(Color.BLACK)

return sellerView

}

}

SellerFragment.kt商家界面

package com.example.takeout.ui.fragment

import android.graphics.Color

import android.os.Bundle

import android.view.Gravity

import android.view.LayoutInflater

import android.view.View

import android.view.ViewGroup

import android.widget.TextView

import androidx.fragment.app.Fragment

/**

  • 详情页商家界面

*/

class SellerFragment : Fragment() {

override fun onCreateView(

inflater: LayoutInflater,

container: ViewGroup?,

savedInstanceState: Bundle?

): View? {

val sellerView = TextView(activity)

sellerView.text = “商家”

sellerView.gravity = Gravity.CENTER

sellerView.setTextColor(Color.BLACK)

return sellerView

}

}

activity_business.xml引入BottomSheetLayout了作为上面的布局

<?xml version="1.0" encoding="utf-8"?>

<FrameLayout xmlns:android=“http://schemas.android.com/apk/res/android”

xmlns:app=“http://schemas.android.com/apk/res-auto”

android:id=“@+id/fl_Container”

android:layout_width=“match_parent”

android:layout_height=“match_parent”>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“match_parent”

android:orientation=“vertical”>

<com.flipboard.bottomsheet.BottomSheetLayout

android:id=“@+id/bottomSheetLayout”

android:layout_width=“match_parent”

android:layout_height=“0dp”

android:layout_weight=“1”>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:fitsSystemWindows=“false”

android:orientation=“vertical”>

<LinearLayout

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

android:background=“#f6f89191”

android:orientation=“horizontal”

android:paddingBottom=“10dp”

android:paddingTop=“25dp”>

<ImageButton

android:id=“@+id/ib_back”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_gravity=“center_vertical”

android:layout_marginLeft=“10dp”

android:background=“@mipmap/abc_ic_ab_back_mtrl_am_alpha”/>

<TextView

android:id=“@+id/tv_title”

android:layout_width=“0dp”

android:layout_height=“wrap_content”

android:layout_gravity=“center_vertical”

android:layout_marginLeft=“10dp”

android:layout_marginRight=“10dp”

android:layout_weight=“1”

android:singleLine=“true”

android:text=“田老师红烧肉(东北旺西路店)”

android:textColor=“#fff”

android:textSize=“20sp”

android:textStyle=“bold”/>

<ImageButton

android:id=“@+id/ib_menu”

android:layout_width=“wrap_content”

android:layout_height=“wrap_content”

android:layout_gravity=“center_vertical”

android:layout_marginRight=“10dp”

android:background=“@mipmap/abc_ic_menu_moreoverflow_mtrl_alpha”/>

<com.google.android.material.tabs.TabLayout

android:id=“@+id/tabs”

android:layout_width=“match_parent”

android:layout_height=“wrap_content”

app:tabIndicatorColor=“#00f”

app:tabIndicatorHeight=“4dp”

app:tabSelectedTextColor=“#00f”

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

过华为、OPPO等大厂,18年进入阿里一直到现在。**

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
[外链图片转存中…(img-BnDfdmja-1710926994240)]
[外链图片转存中…(img-4dbxAlt6-1710926994241)]
[外链图片转存中…(img-1CJ2bUHb-1710926994241)]
[外链图片转存中…(img-Ss6m2yQ8-1710926994241)]

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
[外链图片转存中…(img-SV59Sl52-1710926994241)]

  • 16
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值