Merge remote-tracking branch 'gitee/timestamp' into appbase
This commit is contained in:
		| @@ -1,8 +1,8 @@ | |||||||
| #Created by .winboll/winboll_app_build.gradle | #Created by .winboll/winboll_app_build.gradle | ||||||
| #Wed May 07 15:07:02 HKT 2025 | #Mon Jul 28 11:36:51 HKT 2025 | ||||||
| stageCount=2 | stageCount=4 | ||||||
| libraryProject= | libraryProject= | ||||||
| baseVersion=15.1 | baseVersion=15.1 | ||||||
| publishVersion=15.1.1 | publishVersion=15.1.3 | ||||||
| buildCount=0 | buildCount=0 | ||||||
| baseBetaVersion=15.1.2 | baseBetaVersion=15.1.4 | ||||||
|   | |||||||
| @@ -3,6 +3,9 @@ | |||||||
|     xmlns:android="http://schemas.android.com/apk/res/android" |     xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
|     package="cc.winboll.studio.timestamp"> |     package="cc.winboll.studio.timestamp"> | ||||||
|  |  | ||||||
|  |     <!-- 开机启动 --> | ||||||
|  |     <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/> | ||||||
|  |  | ||||||
|     <!-- 运行前台服务 --> |     <!-- 运行前台服务 --> | ||||||
|     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> |     <uses-permission android:name="android.permission.FOREGROUND_SERVICE"/> | ||||||
|  |  | ||||||
| @@ -45,6 +48,20 @@ | |||||||
|  |  | ||||||
|         <service android:name=".AssistantService"/> |         <service android:name=".AssistantService"/> | ||||||
|  |  | ||||||
|  |         <receiver | ||||||
|  |             android:name=".receivers.MainReceiver" | ||||||
|  |             android:enabled="true" | ||||||
|  |             android:exported="false" | ||||||
|  |             android:directBootAware="true"> | ||||||
|  |  | ||||||
|  |             <intent-filter> | ||||||
|  |  | ||||||
|  |                 <action android:name="android.intent.action.BOOT_COMPLETED"/> | ||||||
|  |  | ||||||
|  |             </intent-filter> | ||||||
|  |  | ||||||
|  |         </receiver> | ||||||
|  |  | ||||||
|     </application> |     </application> | ||||||
|  |  | ||||||
| </manifest> | </manifest> | ||||||
|   | |||||||
| @@ -5,6 +5,7 @@ import android.view.View; | |||||||
| import android.widget.EditText; | import android.widget.EditText; | ||||||
| import android.widget.Switch; | import android.widget.Switch; | ||||||
| import android.widget.TextView; | import android.widget.TextView; | ||||||
|  | import android.widget.Toast; | ||||||
| import androidx.appcompat.app.AppCompatActivity; | import androidx.appcompat.app.AppCompatActivity; | ||||||
| import androidx.appcompat.widget.Toolbar; | import androidx.appcompat.widget.Toolbar; | ||||||
| import cc.winboll.studio.libappbase.LogUtils; | import cc.winboll.studio.libappbase.LogUtils; | ||||||
| @@ -12,6 +13,8 @@ import cc.winboll.studio.libappbase.LogView; | |||||||
| import cc.winboll.studio.timestamp.MainService; | import cc.winboll.studio.timestamp.MainService; | ||||||
| import cc.winboll.studio.timestamp.R; | import cc.winboll.studio.timestamp.R; | ||||||
| import cc.winboll.studio.timestamp.utils.AppConfigsUtil; | import cc.winboll.studio.timestamp.utils.AppConfigsUtil; | ||||||
|  | import cc.winboll.studio.timestamp.utils.ClipboardUtil; | ||||||
|  | import cc.winboll.studio.timestamp.utils.TimeStampUtil; | ||||||
| import com.hjq.toast.ToastUtils; | import com.hjq.toast.ToastUtils; | ||||||
| import java.time.Instant; | import java.time.Instant; | ||||||
| import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||||
| @@ -97,4 +100,22 @@ public class MainActivity extends AppCompatActivity { | |||||||
|         } |         } | ||||||
|         return false; |         return false; | ||||||
|     } |     } | ||||||
|  | 	 | ||||||
|  | 	public void onTimeStamp(View view) { | ||||||
|  | 		// 在这里编写按钮点击后要执行的代码 | ||||||
|  | 		TimeStampUtil.getInstance(this).genTimeStamp(); | ||||||
|  | 		String formattedDateTime = TimeStampUtil.getInstance(this).getTimeStampCopyString(); | ||||||
|  | 		ClipboardUtil.copyTextToClipboard(this, formattedDateTime); | ||||||
|  | 		 | ||||||
|  | 		// 更新时间戳文本框显示内容 | ||||||
|  | 		EditText etTimeStamp = findViewById(R.id.et_timestamp); | ||||||
|  | 		etTimeStamp.setText(formattedDateTime); | ||||||
|  |  | ||||||
|  | 		// 输出一个提示音 | ||||||
|  | 		TimeStampUtil.getInstance(this).playNotifyMusic(this); | ||||||
|  | 		 | ||||||
|  | 		// 比如显示一个 Toast | ||||||
|  | 		Toast.makeText(this, "时间戳:\n" + TimeStampUtil.getInstance(this).getTimeStampCopyString() + "\n已拷贝到剪贴板。", Toast.LENGTH_SHORT).show(); | ||||||
|  | 		MainService.updateCopiedTimeStamp(); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -0,0 +1,40 @@ | |||||||
|  | package cc.winboll.studio.timestamp.receivers; | ||||||
|  |  | ||||||
|  | import android.content.BroadcastReceiver; | ||||||
|  | import android.content.Context; | ||||||
|  | import android.content.Intent; | ||||||
|  | import cc.winboll.studio.libappbase.LogUtils; | ||||||
|  | import cc.winboll.studio.timestamp.MainService; | ||||||
|  | import cc.winboll.studio.timestamp.models.AppConfigsModel; | ||||||
|  | import cc.winboll.studio.timestamp.utils.AppConfigsUtil; | ||||||
|  |  | ||||||
|  | /** | ||||||
|  |  * @Author ZhanGSKen&豆包大模型<zhangsken@188.com> | ||||||
|  |  * @Date 2025/07/28 11:15 | ||||||
|  |  * @Describe MainReceiver | ||||||
|  |  */ | ||||||
|  | public class MainReceiver extends BroadcastReceiver { | ||||||
|  |  | ||||||
|  |     public static final String TAG = "MainReceiver"; | ||||||
|  |  | ||||||
|  |     static final String ACTION_BOOT_COMPLETED = "android.intent.action.BOOT_COMPLETED"; | ||||||
|  |  | ||||||
|  |     AppConfigsUtil mAppConfigsUtil; | ||||||
|  |  | ||||||
|  |     @Override | ||||||
|  |     public void onReceive(Context context, Intent intent) { | ||||||
|  |         String szAction = intent.getAction(); | ||||||
|  |         if (szAction.equals(ACTION_BOOT_COMPLETED)) { | ||||||
|  |             AppConfigsModel appConfigs = AppConfigsUtil.getInstance(context).loadAppConfigs(); | ||||||
|  | 			boolean isEnable = appConfigs.isEnableService(); | ||||||
|  | 			AppConfigsUtil.getInstance(context).saveAppConfigs(); | ||||||
|  |  | ||||||
|  | 			Intent intentMainService = new Intent(context, MainService.class); | ||||||
|  | 			if (isEnable) { | ||||||
|  | 				context.startService(intentMainService); | ||||||
|  | 			} | ||||||
|  | 			LogUtils.i(TAG, "System Boot And Start ManagerService Completed!"); | ||||||
|  |         } | ||||||
|  |     } | ||||||
|  |  | ||||||
|  | } | ||||||
| @@ -130,16 +130,10 @@ public class NotificationHelper { | |||||||
|         mForegroundNotification.bigContentView = remoteViews; |         mForegroundNotification.bigContentView = remoteViews; | ||||||
|  |  | ||||||
|         service.startForeground(ID_MSG_SERVICE, mForegroundNotification); |         service.startForeground(ID_MSG_SERVICE, mForegroundNotification); | ||||||
|  | 		 | ||||||
|         // 播放默认短信铃声 | 		TimeStampUtil.getInstance(service).playNotifyMusic(service); | ||||||
|         Uri defaultSmsRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); |  | ||||||
|         AudioPlayerUriUtil.playAudio(service, defaultSmsRingtoneUri); |  | ||||||
|  |  | ||||||
|         // 播放应用铃声 |  | ||||||
|         // 获取MP3文件的Uri |  | ||||||
|         Uri soundUri = Uri.parse("android.resource://" + service.getPackageName() + "/" + R.raw.diweiyi); |  | ||||||
|         AudioPlayerUriUtil.playAudio(service, soundUri); |  | ||||||
|     } |     } | ||||||
|  | 	 | ||||||
|      |      | ||||||
|      |      | ||||||
|  |  | ||||||
|   | |||||||
| @@ -6,6 +6,8 @@ package cc.winboll.studio.timestamp.utils; | |||||||
|  * @Describe TimeStampUtil |  * @Describe TimeStampUtil | ||||||
|  */ |  */ | ||||||
| import android.content.Context; | import android.content.Context; | ||||||
|  | import android.net.Uri; | ||||||
|  | import cc.winboll.studio.timestamp.R; | ||||||
| import java.time.Instant; | import java.time.Instant; | ||||||
| import java.time.LocalDateTime; | import java.time.LocalDateTime; | ||||||
| import java.time.ZoneId; | import java.time.ZoneId; | ||||||
| @@ -55,4 +57,19 @@ public class TimeStampUtil { | |||||||
|         String formattedDateTime = ldt.format(formatter); |         String formattedDateTime = ldt.format(formatter); | ||||||
|         return formattedDateTime; |         return formattedDateTime; | ||||||
|     } |     } | ||||||
|  | 	 | ||||||
|  |  | ||||||
|  | 	// | ||||||
|  | 	// 播放时间戳确定时的提示音乐 | ||||||
|  | 	// | ||||||
|  | 	public static void playNotifyMusic(Context context) { | ||||||
|  |         // 播放默认短信铃声 | ||||||
|  |         //Uri defaultSmsRingtoneUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_NOTIFICATION); | ||||||
|  |         //AudioPlayerUriUtil.playAudio(context, defaultSmsRingtoneUri); | ||||||
|  |  | ||||||
|  |         // 播放应用铃声 | ||||||
|  |         // 获取MP3文件的Uri | ||||||
|  |         Uri soundUri = Uri.parse("android.resource://" + context.getPackageName() + "/" + R.raw.diweiyi); | ||||||
|  |         AudioPlayerUriUtil.playAudio(context, soundUri); | ||||||
|  | 	} | ||||||
| } | } | ||||||
|   | |||||||
| @@ -1,144 +1,180 @@ | |||||||
| <?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||||||
| <LinearLayout | <LinearLayout | ||||||
| 	xmlns:android="http://schemas.android.com/apk/res/android" | 	xmlns:android="http://schemas.android.com/apk/res/android" | ||||||
| 	xmlns:app="http://schemas.android.com/apk/res-auto" | 	android:orientation="vertical" | ||||||
| 	android:layout_width="match_parent" | 	android:layout_width="wrap_content" | ||||||
| 	android:layout_height="match_parent" | 	android:layout_height="wrap_content"> | ||||||
| 	android:orientation="vertical"> |  | ||||||
|  |  | ||||||
| 	<com.google.android.material.appbar.AppBarLayout | 	<ScrollView | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> |  | ||||||
|  |  | ||||||
| 		<androidx.appcompat.widget.Toolbar |  | ||||||
| 			android:id="@+id/toolbar" |  | ||||||
| 			android:layout_width="match_parent" |  | ||||||
| 			android:layout_height="?attr/actionBarSize" |  | ||||||
| 			app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> |  | ||||||
|  |  | ||||||
| 	</com.google.android.material.appbar.AppBarLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:padding="10dp"> |  | ||||||
|  |  | ||||||
| 		<Switch |  | ||||||
| 			android:layout_width="match_parent" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="启用时间戳常驻通知栏" |  | ||||||
| 			android:id="@+id/activitymainSwitch1" |  | ||||||
| 			android:onClick="onSetMainServiceStatus"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content"> |  | ||||||
|  |  | ||||||
| 		<TextView |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="Show Format Preview:" |  | ||||||
| 			android:paddingRight="10dp"/> |  | ||||||
|  |  | ||||||
| 		<TextView |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="Text" |  | ||||||
| 			android:id="@+id/tv_timestampformatstring"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:padding="10dp"> |  | ||||||
|  |  | ||||||
| 		<EditText |  | ||||||
| 			android:layout_width="0dp" |  | ||||||
| 			android:ems="10" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:id="@+id/et_timestampformatstring" |  | ||||||
| 			android:layout_weight="1.0"/> |  | ||||||
|  |  | ||||||
| 		<Button |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="ApplyShow" |  | ||||||
| 			android:id="@+id/btn_saveformatstring" |  | ||||||
| 			android:textAllCaps="false" |  | ||||||
| 			android:onClick="onSaveFormatString"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content"> |  | ||||||
|  |  | ||||||
| 		<TextView |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="Copy Format Preview:" |  | ||||||
| 			android:paddingRight="10dp"/> |  | ||||||
|  |  | ||||||
| 		<TextView |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="Text" |  | ||||||
| 			android:id="@+id/tv_timestampcopyformatstring"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="horizontal" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="wrap_content" |  | ||||||
| 		android:padding="10dp"> |  | ||||||
|  |  | ||||||
| 		<EditText |  | ||||||
| 			android:layout_width="0dp" |  | ||||||
| 			android:ems="10" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:id="@+id/et_timestampcopyformatstring" |  | ||||||
| 			android:layout_weight="1.0"/> |  | ||||||
|  |  | ||||||
| 		<Button |  | ||||||
| 			android:layout_width="wrap_content" |  | ||||||
| 			android:layout_height="wrap_content" |  | ||||||
| 			android:text="ApplyCopy" |  | ||||||
| 			android:id="@+id/btn_savecopyformatstring" |  | ||||||
| 			android:textAllCaps="false" |  | ||||||
| 			android:onClick="onSaveCopyFormatString"/> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" |  | ||||||
| 		android:layout_height="0dp" |  | ||||||
| 		android:layout_weight="1.0" |  | ||||||
| 		android:gravity="center_vertical|center_horizontal"> |  | ||||||
|  |  | ||||||
| 	</LinearLayout> |  | ||||||
|  |  | ||||||
| 	<LinearLayout |  | ||||||
| 		android:orientation="vertical" |  | ||||||
| 		android:layout_width="match_parent" | 		android:layout_width="match_parent" | ||||||
| 		android:layout_height="0dp" | 		android:layout_height="0dp" | ||||||
| 		android:layout_weight="1.0"> | 		android:layout_weight="1.0"> | ||||||
|  |  | ||||||
| 		<cc.winboll.studio.libappbase.LogView | 		<LinearLayout | ||||||
|  | 			xmlns:app="http://schemas.android.com/apk/res-auto" | ||||||
| 			android:layout_width="match_parent" | 			android:layout_width="match_parent" | ||||||
| 			android:layout_height="match_parent" | 			android:layout_height="match_parent" | ||||||
| 			android:id="@+id/logview"/> | 			android:orientation="vertical"> | ||||||
|  |  | ||||||
| 	</LinearLayout> | 			<com.google.android.material.appbar.AppBarLayout | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content" | ||||||
|  | 				android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> | ||||||
|  |  | ||||||
|  | 				<androidx.appcompat.widget.Toolbar | ||||||
|  | 					android:id="@+id/toolbar" | ||||||
|  | 					android:layout_width="match_parent" | ||||||
|  | 					android:layout_height="?attr/actionBarSize" | ||||||
|  | 					app:popupTheme="@style/ThemeOverlay.AppCompat.Light"/> | ||||||
|  |  | ||||||
|  | 			</com.google.android.material.appbar.AppBarLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="horizontal" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content" | ||||||
|  | 				android:padding="10dp"> | ||||||
|  |  | ||||||
|  | 				<Switch | ||||||
|  | 					android:layout_width="match_parent" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="启用时间戳常驻通知栏" | ||||||
|  | 					android:id="@+id/activitymainSwitch1" | ||||||
|  | 					android:onClick="onSetMainServiceStatus"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="vertical" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  | 				<TextView | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="Show Format Preview:" | ||||||
|  | 					android:paddingRight="10dp"/> | ||||||
|  |  | ||||||
|  | 				<TextView | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="Text" | ||||||
|  | 					android:id="@+id/tv_timestampformatstring"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="horizontal" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content" | ||||||
|  | 				android:padding="10dp"> | ||||||
|  |  | ||||||
|  | 				<EditText | ||||||
|  | 					android:layout_width="0dp" | ||||||
|  | 					android:ems="10" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:id="@+id/et_timestampformatstring" | ||||||
|  | 					android:layout_weight="1.0"/> | ||||||
|  |  | ||||||
|  | 				<Button | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="ApplyShow" | ||||||
|  | 					android:id="@+id/btn_saveformatstring" | ||||||
|  | 					android:textAllCaps="false" | ||||||
|  | 					android:onClick="onSaveFormatString"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="vertical" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  | 				<TextView | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="Copy Format Preview:" | ||||||
|  | 					android:paddingRight="10dp"/> | ||||||
|  |  | ||||||
|  | 				<TextView | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="Text" | ||||||
|  | 					android:id="@+id/tv_timestampcopyformatstring"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="horizontal" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content" | ||||||
|  | 				android:padding="10dp"> | ||||||
|  |  | ||||||
|  | 				<EditText | ||||||
|  | 					android:layout_width="0dp" | ||||||
|  | 					android:ems="10" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:id="@+id/et_timestampcopyformatstring" | ||||||
|  | 					android:layout_weight="1.0"/> | ||||||
|  |  | ||||||
|  | 				<Button | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="ApplyCopy" | ||||||
|  | 					android:id="@+id/btn_savecopyformatstring" | ||||||
|  | 					android:textAllCaps="false" | ||||||
|  | 					android:onClick="onSaveCopyFormatString"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="horizontal" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  | 				<TextView | ||||||
|  | 					android:layout_width="wrap_content" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:text="当前截取的时间戳为:"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="vertical" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content" | ||||||
|  | 				android:gravity="center_vertical|center_horizontal"> | ||||||
|  |  | ||||||
|  | 				<ImageButton | ||||||
|  | 					android:layout_width="100dp" | ||||||
|  | 					android:layout_height="100dp" | ||||||
|  | 					android:onClick="onTimeStamp" | ||||||
|  | 					android:background="@drawable/ic_timestamp"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 			<LinearLayout | ||||||
|  | 				android:orientation="horizontal" | ||||||
|  | 				android:layout_width="match_parent" | ||||||
|  | 				android:layout_height="wrap_content"> | ||||||
|  |  | ||||||
|  | 				<EditText | ||||||
|  | 					android:layout_width="match_parent" | ||||||
|  | 					android:ems="10" | ||||||
|  | 					android:layout_height="wrap_content" | ||||||
|  | 					android:id="@+id/et_timestamp"/> | ||||||
|  |  | ||||||
|  | 			</LinearLayout> | ||||||
|  |  | ||||||
|  | 		</LinearLayout> | ||||||
|  |  | ||||||
|  | 	</ScrollView> | ||||||
|  |  | ||||||
|  | 	<cc.winboll.studio.libappbase.LogView | ||||||
|  | 		android:layout_width="match_parent" | ||||||
|  | 		android:layout_height="200dp" | ||||||
|  | 		android:id="@+id/logview"/> | ||||||
|  |  | ||||||
| </LinearLayout> | </LinearLayout> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 ZhanGSKen
					ZhanGSKen