Compare commits

...

3 Commits

Author SHA1 Message Date
7b1838ff8e 添加Log窗口调用 2025-06-11 05:15:25 +08:00
73ff3d1726 移除LogView.添加消息状态栏。 2025-06-11 05:11:56 +08:00
a69572e216 清理冗余代码 2025-06-11 04:09:09 +08:00
8 changed files with 148 additions and 54 deletions

View File

@ -1,8 +1,8 @@
#Created by .winboll/winboll_app_build.gradle
#Tue Jun 10 19:49:43 GMT 2025
#Tue Jun 10 21:14:15 GMT 2025
stageCount=0
libraryProject=
baseVersion=15.0
publishVersion=15.0.0
buildCount=19
buildCount=34
baseBetaVersion=15.0.1

View File

@ -1,22 +0,0 @@
package cc.winboll.studio.webpagesources;
import android.app.Activity;
import android.os.Bundle;
/**
* @Author ZhanGSKen<zhangsken@188.com>
* @Date 2025/06/10 15:04
* @Describe 外部数据接口主窗口类
*/
public abstract class Main2Activity extends MainActivity {
// public static final String TAG = "Main2Activity";
//
// @Override
// protected void onCreate(Bundle savedInstanceState) {
// super.onCreate(savedInstanceState);
//
//
// }
//
}

View File

@ -24,6 +24,7 @@ import cc.winboll.studio.webpagesources.R;
import cc.winboll.studio.webpagesources.activities.AboutActivity;
import cc.winboll.studio.webpagesources.fragment.SourcesFragment;
import cc.winboll.studio.webpagesources.fragment.WebFragment;
import cc.winboll.studio.webpagesources.view.StatusBarView;
public class MainActivity extends AppCompatActivity implements IWinBoLLActivity {
@ -34,7 +35,8 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
public static final String MSG_UPDATE_URL = "MSG_UPDATE_URL";
LogView mLogView;
static MainActivity _MainActivity;
StatusBarView mStatusBarView;
WebFragment mWebFragment;
SourcesFragment mSourcesFragment;
static boolean _mIsLoadedHomePage;
@ -55,8 +57,6 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mLogView = findViewById(R.id.logview);
mLogView.start();
FragmentTransaction ft = ((FragmentManager)getSupportFragmentManager()).beginTransaction();
mSourcesFragment = new SourcesFragment();
@ -70,6 +70,10 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
// 处理 onCreate 时的 Intent
handleIntent(getIntent());
mStatusBarView = findViewById(R.id.activitymainStatusBarView1);
_MainActivity = this;
postStatusBarMessage("主窗口加载完成。");
}
@Override
@ -98,6 +102,12 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
}
}
public static void postStatusBarMessage(String msg) {
if(_MainActivity != null) {
_MainActivity.mStatusBarView.postMessage(msg);
}
}
@Override
protected void onPostCreate(Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
@ -141,6 +151,10 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
mSourcesFragment.shareHtml();
break;
}
case R.id.item_log : {
GlobalApplication.getWinBoLLActivityManager().startLogActivity(this);
break;
}
case R.id.item_about : {
GlobalApplication.getWinBoLLActivityManager().startWinBoLLActivity(this, AboutActivity.class);
break;
@ -152,7 +166,6 @@ public class MainActivity extends AppCompatActivity implements IWinBoLLActivity
@Override
protected void onResume() {
super.onResume();
mLogView.start();
}
@Override

View File

@ -196,6 +196,7 @@ public class BaseWebView extends WebView {
@Override
public void loadUrl(String url) {
MainActivity.postStatusBarMessage(String.format("正在加载:%s", url));
Pattern patternHttp = Pattern.compile("(?i)^http[s]{0,1}://", Pattern.CASE_INSENSITIVE);
Matcher matcherHttp = patternHttp.matcher(url);
if (matcherHttp.matches()) {
@ -303,6 +304,7 @@ public class BaseWebView extends WebView {
mIOnPageFinished.onPageFinished(url);
LogUtils.d(TAG, "Page load finished : " + url);
_mszLastUrl = url;
MainActivity.postStatusBarMessage(String.format("加载完成:%s", url));
}
@Override

View File

@ -0,0 +1,79 @@
package cc.winboll.studio.webpagesources.view;
import android.content.Context;
import android.util.AttributeSet;
import android.widget.LinearLayout;
import android.widget.TextView;
import cc.winboll.studio.webpagesources.R;
import android.os.Handler;
import android.os.Message;
import android.view.View;
import android.view.ViewGroup;
/**
* @Author ZhanGSKen<zhangsken@188.com>
* @Date 2025/06/11 04:11
* @Describe 网页状态信息栏
*/
public class StatusBarView extends LinearLayout {
public static final String TAG = "StatusBar";
public static final int MESSAGE_NEWS = 0;
Context mContext;
TextView mtvMessage;
public StatusBarView(Context context) {
super(context);
initView(context);
}
public StatusBarView(Context context, AttributeSet attrs) {
super(context, attrs);
initView(context);
}
public StatusBarView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
initView(context);
}
public StatusBarView(Context context, AttributeSet attrs, int defStyleAttr, int defStyleRes) {
super(context, attrs, defStyleAttr, defStyleRes);
initView(context);
}
void initView(Context context) {
mContext = context;
View viewMain = inflate(context, R.layout.view_statusbar, null);
mtvMessage = viewMain.findViewById(R.id.tv_message);
// 设置布局参数为MATCH_PARENT并确保最大尺寸显示
ViewGroup.LayoutParams params = new ViewGroup.LayoutParams(
ViewGroup.LayoutParams.MATCH_PARENT,
ViewGroup.LayoutParams.WRAP_CONTENT
);
addView(viewMain, params);
}
public void postMessage(String msg) {
if (mContext != null) {
Message message = new Message();
message.what = MESSAGE_NEWS;
message.obj = msg;
mHandler.dispatchMessage(message);
}
}
Handler mHandler = new Handler(){
@Override
public void handleMessage(Message msg) {
if (msg.what == MESSAGE_NEWS) {
mtvMessage.setText((String)msg.obj);
}
//super.handleMessage(msg);
}
};
}

View File

@ -31,17 +31,10 @@
</LinearLayout>
<LinearLayout
android:orientation="vertical"
<cc.winboll.studio.webpagesources.view.StatusBarView
android:layout_width="match_parent"
android:layout_height="300dp">
<cc.winboll.studio.libappbase.LogView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/logview"/>
</LinearLayout>
android:layout_height="36dp"
android:id="@+id/activitymainStatusBarView1"/>
</LinearLayout>

View File

@ -0,0 +1,24 @@
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
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_height="match_parent"
android:background="#FFCCCCCC">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Text"
android:id="@+id/tv_message"
android:textIsSelectable="true"/>
</ScrollView>
</LinearLayout>

View File

@ -17,6 +17,11 @@
android:title="Editor"
android:icon="@drawable/ic_file_edit_outline"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/item_log"
android:title="Log"
android:icon="@drawable/ic_winboll"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/item_about"
android:title="About"