Android Studio学習タスクの要約(-)

今日は主にAndroidスタジオに関するいくつかの関連知識を学び、担当したリリースジョブ機能を実行するインターフェイスデザインも使用しました。

Androidスタジオでの一般的なモジュールの役割。ユーザー登録ログインインターフェースを作成しただけです。

パッケージcom.example.myapplication
import androidx.appcompat.app.AppCompatActivity
import android.os.Bundle
import android.os.Handler
import android.view.View
import kotlinx.android.synthetic.main.activity_fullscreen。*
/ **
 *
 ユーザーインタラクションでシステムUI(つまり、ステータスバーとナビゲーション/システムバー)を表示および非表示にするフルスクリーンアクティビティの例
 * /
class FullscreenActivity:AppCompatActivity(){
    private val mHideHandler = Handler()
    private val mHidePart2Runnable = Runnable {
        //ステータスとナビゲーションバーの削除の遅延
        //これらの定数の一部は、API 16(Jelly Bean)
        およびAPI 19(KitKat)の時点で新しいことに注意してください
        //コンパイル時にインライン化され、以前のデバイスでは何もしないため、これらを使用しても安全 です。
        fullscreen_content.systemUiVisibility =
            View.SYSTEM_UI_FLAG_LOW_PROFILE又は
                    View.SYSTEM_UI_FLAG_FULLSCREEN又は
                    View.SYSTEM_UI_FLAG_LAYOUT_STABLE又は
                    View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY又は
                    View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION又は
                    View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
    }
    プライベートヴァルmShowPart2Runnable = Runnableを{
        // UI要素の表示の遅延
        supportActionBar?.show()fullscreen_content_controls.visibility
        = View.VISIBLE
    }
    private var mVisible:Boolean = false
    private val mHideRunnable = Runnable {hide()}
    / **
     *リスナーをタッチしてインレイアウトに使用する
     *システムUIの非表示を遅らせるUIコントロール これは
     、アクティビティUIを操作しているときに、コントロールの* 耳障りな動作がなくなるのを防ぐため です。
     * /
    private val mDelayHideTouchListener = View.OnTouchListener {_、
        _- > if(AUTO_HIDE){
            delayHide(AUTO_HIDE_DELAY_MILLIS)
        }
        false
    }
    fun onCreate(savedInstanceState:Bundle?){
        super.onCreate(savedInstanceState)を オーバーライドします
        setContentView(R.layout.activity_fullscreen)
        supportActionBar?.setDisplayHomeAsUpEnabled(true)
        mVisible = true
        //ユーザーインタラクションを設定して、システムUIを手動で表示または非表示にします。
        fullscreen_content.setOnClickListener {toggle()}
        // UIコントロールを操作する際は、スケジュールされたhide()
        操作を// 遅延させて、UIを 操作しているときに
        // コントロールの不快な動作がなくなるのを防ぎ ます。
        dummy_button.setOnTouchListener(mDelayHideTouchListener)
    }
    fun onPostCreate(savedInstanceState:Bundle?){
        super.onPostCreate(savedInstanceState)を オーバーライドします
        //アクティビティが
        作成された直後に最初のhide()をトリガーし、// UIコントロール
        が利用可能であることをユーザーに簡単に通知し ます。
        delayHide(100)
    }
    private fun toggle(){
        if(mVisible){
            hide()
        } else {
            show()
        }
    }
    private fun hide(){
        //最初にUIを 非表示
        supportActionBar?.hide()         fullscreen_content_controls.visibility =
        View.GONE
mVisible = false
        //
        ランナブルをスケジュールして、遅延後にステータスとナビゲーションバーを削除します mHideHandler.removeCallbacks(mShowPart2Runnable)
        mHideHandler.postDelayed(mHidePart2Runnable、UI_ANIMATION_DELAY.toLong())
    }
    private fun show(){
        //システムバーを表示する             fullscreen_content.systemUiVisibility
        =
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREENまたは
                    View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
        mVisible = true
        //
        ランナブルをスケジュールして、遅延後にUI要素を表示します mHideHandler.removeCallbacks(mHidePart2Runnable)
        mHideHandler.postDelayed(mShowPart2Runnable、UI_ANIMATION_DELAY.toLong())
    }
    / **
     * [delayMillis]のhide()への呼び出しをスケジュールし、
     以前にスケジュールされた呼び出しをキャンセルし ます。
     * /
    private fun delayHide(delayMillis:Int){
        mHideHandler.removeCallbacks(mHideRunnable)
        mHideHandler.postDelayed(mHideRunnable、delayMillis.toLong())
    }
    コンパニオンオブジェクト{
        / **          * [AUTO_HIDE_DELAY_MILLIS]ミリ秒
         後にシステムUIを自動的に非表示にするかどうか

         * /
        private val AUTO_HIDE = true
        / **
         * [AUTO_HIDE]が設定されている場合、
         ユーザーインタラクション*がシステムUIを非表示にする前に待機するミリ秒数
         * /
        プライベートバリューAUTO_HIDE_DELAY_MILLIS = 3000
        / **
         *一部の古いデバイスでは、UIウィジェットの更新
         とステータスおよびナビゲーションバーの変更との間に少しの遅延が必要です *。
         * /
        private val UI_ANIMATION_DELAY = 300
    }
}

操作レイアウト機能インターフェース設計:

 

おすすめ

転載: www.cnblogs.com/lianggegege123/p/12716174.html