微信登录Fragment界面

最近有一点空余的时间,写了一个微信登录Fragment界面,目前只有界面,功能要慢慢往里加

1. 首先写一个MainActivity,在里面有登录按钮

class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        login.setOnClickListener {
            WechatLoginFragment.show(supportFragmentManager)
        }

    }
}

2. 写一个fragment,承载登录界面的功能

class WechatLoginFragment : DialogFragment() {
    companion object {
        fun show(fm: FragmentManager) {
            var loginFragment = fm.findFragmentByTag(WechatLoginFragment::class.java.simpleName)
            if(loginFragment !is WechatLoginFragment) {
                loginFragment = WechatLoginFragment()
            }
            loginFragment.show(fm, WechatLoginFragment::class.java.simpleName)

        }
    }


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
    }

    override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?, savedInstanceState: Bundle?): View? {
        return inflater.inflate(R.layout.fragment_wechat_login, container, false)
    }

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        iv_close.setOnClickListener { close() }
        tv_login_by_wechat.setOnClickListener {

        }
    }

    fun close() {
        dismiss()
    }

    override fun onStart() {
        super.onStart()
        if (dialog != null) {
            dialog.window.setGravity(Gravity.BOTTOM)
            val height = TypedValue.applyDimension(TypedValue.COMPLEX_UNIT_DIP, 296f, context?.resources?.displayMetrics).toInt()
            dialog.window.setLayout(ViewGroup.LayoutParams.MATCH_PARENT, height)
        }
    }

    override fun getTheme(): Int {
        return R.style.TagDialog
    }
}

在github上的地址是:https://github.com/mlsnatalie/WechatLoginFragmentDemo.git

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值
>