今日は主に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。*
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 {
//ステータスとナビゲーションバーの削除の遅延
*
ユーザーインタラクションでシステム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
}
および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)を オーバーライドします
super.onCreate(savedInstanceState)を オーバーライドします
setContentView(R.layout.activity_fullscreen)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
supportActionBar?.setDisplayHomeAsUpEnabled(true)
mVisible = true
//ユーザーインタラクションを設定して、システムUIを手動で表示または非表示にします。
fullscreen_content.setOnClickListener {toggle()}
fullscreen_content.setOnClickListener {toggle()}
// UIコントロールを操作する際は、スケジュールされたhide()
操作を// 遅延させて、UIを 操作しているときに
// コントロールの不快な動作がなくなるのを防ぎ ます。
dummy_button.setOnTouchListener(mDelayHideTouchListener)
}
操作を// 遅延させて、UIを 操作しているときに
// コントロールの不快な動作がなくなるのを防ぎ ます。
dummy_button.setOnTouchListener(mDelayHideTouchListener)
}
fun onPostCreate(savedInstanceState:Bundle?){
super.onPostCreate(savedInstanceState)を オーバーライドします
super.onPostCreate(savedInstanceState)を オーバーライドします
//アクティビティが
作成された直後に最初のhide()をトリガーし、// UIコントロール
が利用可能であることをユーザーに簡単に通知し ます。
delayHide(100)
}
作成された直後に最初のhide()をトリガーし、// UIコントロール
が利用可能であることをユーザーに簡単に通知し ます。
delayHide(100)
}
private fun toggle(){
if(mVisible){
hide()
} else {
show()
}
}
if(mVisible){
hide()
} else {
show()
}
}
private fun hide(){
//最初にUIを 非表示
supportActionBar?.hide() fullscreen_content_controls.visibility =
View.GONE
mVisible = false
//最初にUIを 非表示
supportActionBar?.hide() fullscreen_content_controls.visibility =
View.GONE
mVisible = false
//
ランナブルをスケジュールして、遅延後にステータスとナビゲーションバーを削除します mHideHandler.removeCallbacks(mShowPart2Runnable)
mHideHandler.postDelayed(mHidePart2Runnable、UI_ANIMATION_DELAY.toLong())
}
ランナブルをスケジュールして、遅延後にステータスとナビゲーションバーを削除します 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
//システムバーを表示する 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())
}
ランナブルをスケジュールして、遅延後に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())
}
* [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_DELAY_MILLIS]ミリ秒
後にシステムUIを自動的に非表示にするかどうか
。
* /
private val AUTO_HIDE = true
/ **
* [AUTO_HIDE]が設定されている場合、
ユーザーインタラクション*がシステムUIを非表示にする前に待機するミリ秒数 。
* /
プライベートバリューAUTO_HIDE_DELAY_MILLIS = 3000
* [AUTO_HIDE]が設定されている場合、
ユーザーインタラクション*がシステムUIを非表示にする前に待機するミリ秒数 。
* /
プライベートバリューAUTO_HIDE_DELAY_MILLIS = 3000
/ **
*一部の古いデバイスでは、UIウィジェットの更新
とステータスおよびナビゲーションバーの変更との間に少しの遅延が必要です *。
* /
private val UI_ANIMATION_DELAY = 300
}
}
*一部の古いデバイスでは、UIウィジェットの更新
とステータスおよびナビゲーションバーの変更との間に少しの遅延が必要です *。
* /
private val UI_ANIMATION_DELAY = 300
}
}
操作レイアウト機能インターフェース設計: