二阶段团队冲刺(6)

今日代码实现

新闻功能顺利实现,答题功能马上实现

首先新闻功能

NewsDetailsActivity页面的代码了,如下所示:
package com.llw.goodtrash.ui;
import android.annotation.SuppressLint;import android.os.Bundle;import android.webkit.WebSettings;import android.webkit.WebView;import android.webkit.WebViewClient;import androidx.appcompat.widget.Toolbar;import com.llw.goodtrash.R;import com.llw.mvplibrary.base.BaseActivity;
/**
 * 新闻详情页面
 */
public class NewsDetailsActivity extends BaseActivity {
    private Toolbar toolbar;
    private WebView webView;

    @Override
    public void initData(Bundle savedInstanceState) {
        toolbar = findViewById(R.id.toolbar);
        webView = findViewById(R.id.web_view);
        back(toolbar, false);
        //设置状态栏
        setStatubar(this, R.color.white, true);
        //加载WebView
        loadWebView();
    }

    /**
     * 加载webView
     */
    @SuppressLint("SetJavaScriptEnabled")
    private void loadWebView() {
        //开始加载Url
        showLoadingDialog();

        String url = getIntent().getStringExtra("url");
        if (url == null || url.isEmpty()) {
            showMsg("无法显示新闻详情");
            return;
        }

        //声明WebSettings子类
        WebSettings webSettings = webView.getSettings();
        //如果访问的页面中要与Javascript交互,则webview必须设置支持Javascript
        webSettings.setJavaScriptEnabled(true);
        //支持插件
        //设置自适应屏幕,两者合用
        webSettings.setUseWideViewPort(true);//将图片调整到适合webview的大小
        webSettings.setLoadWithOverviewMode(true); // 缩放至屏幕的大小
        //缩放操作
        webSettings.setSupportZoom(true); //支持缩放,默认为true。是下面那个的前提。
        webSettings.setBuiltInZoomControls(true); //设置内置的缩放控件。若为false,则该WebView不可缩放
        webSettings.setDisplayZoomControls(false); //隐藏原生的缩放控件
        //其他细节操作
        webSettings.setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK); //关闭webview中缓存
        webSettings.setAllowFileAccess(true); //设置可以访问文件
        webSettings.setJavaScriptCanOpenWindowsAutomatically(true); //支持通过JS打开新窗口
        webSettings.setLoadsImagesAutomatically(true); //支持自动加载图片
        webSettings.setDefaultTextEncodingName("utf-8");//设置编码格式
        //优先使用缓存
        webView.getSettings().setCacheMode(WebSettings.LOAD_CACHE_ELSE_NETWORK);

        //加载一个网页

        webView.loadUrl(url);

        //重写shouldOverrideUrlLoading()方法,使得打开网页时不调用系统浏览器, 而是在本WebView中显示

        webView.setWebViewClient(new WebViewClient() {
            @Override
            public void onPageFinished(WebView view, String url) {
                //加载完成
                hideLoadingDialog();
            }
        });

    }

    @Override
    public int getLayoutId() {
        return R.layout.activity_news_details;
    }}
简单的配置WebView,在MainActivity中,在initView方法中,修改点击列表item时触发的代码。

mAdapter.setOnItemChildClickListener((adapter, view, position) -> {
            //跳转到新闻详情页面
            Intent intent = new Intent(context, NewsDetailsActivity.class);
            intent.putExtra("url", mList.get(position).getUrl());
            startActivity(intent);
        });

新闻功能顺利实现,显示实时新闻

 

 

答题功能

package com.llw.goodt.adapter;

import androidx.annotation.NonNull;
import androidx.fragment.app.Fragment;
import androidx.fragment.app.FragmentManager;
import androidx.fragment.app.FragmentPagerAdapter;
import androidx.fragment.app.FragmentStatePagerAdapter;

import java.util.ArrayList;
import java.util.List;

public class DaTiAdapter extends FragmentPagerAdapter {

    private List<Fragment> mFragmentList = null;
    public DaTiAdapter(@NonNull FragmentManager fm, List<Fragment> fragmentList) {
        super(fm);
        mFragmentList = fragmentList;
    }
    @NonNull
    @Override
    public Fragment getItem(int position) {
        return mFragmentList.get(position);
    }

    @Override
    public int getCount() {
        return mFragmentList.size();
    }
}
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Fragment.DaTiFragment"
    android:orientation="vertical">
    <!--    棰樼洰绫诲瀷-->

    <!--    棰樼洰鏍囬-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginTop="20dp"
        android:layout_marginLeft="40dp">
        <TextView
            android:id="@+id/tv_question"
            android:layout_width="wrap_content"
            android:layout_height="70dp"
            android:text="3銆佲€濅竴浜?涔濃€滆繍鍔ㄥ彂鐢熷湪 ( ) 骞寸殑鍖楀钩銆?
            android:textColor="@color/black"
            android:textSize="17sp"/>
    </LinearLayout>
    <!--    棰樼洰閫夐」-->
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">
        <LinearLayout
            android:id="@+id/ll_a"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="30dp">
            <ImageView
                android:id="@+id/iv_a"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="@drawable/a"/>
            <TextView
                android:id="@+id/tv_xxa"
                android:layout_marginLeft="20dp"
                android:layout_width="wrap_content"
                android:layout_height="45dp"
                android:gravity="center_vertical"
                android:textColor="@color/black"
                android:textSize="20sp"
                android:text="1933"/>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll_b"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="30dp">
            <ImageView
                android:id="@+id/iv_b"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="@drawable/b"/>
            <TextView
                android:id="@+id/tv_xxb"
                android:layout_marginLeft="20dp"
                android:layout_width="wrap_content"
                android:layout_height="45dp"
                android:gravity="center_vertical"
                android:textColor="@color/black"
                android:textSize="20sp"
                android:text="1934"/>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll_c"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="30dp">
            <ImageView
                android:id="@+id/iv_c"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="@drawable/c"/>
            <TextView
                android:id="@+id/tv_xxc"
                android:layout_marginLeft="20dp"
                android:layout_width="wrap_content"
                android:layout_height="45dp"
                android:gravity="center_vertical"
                android:textColor="@color/black"
                android:textSize="20sp"
                android:text="1935"/>
        </LinearLayout>

        <LinearLayout
            android:id="@+id/ll_d"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:padding="30dp">
            <ImageView
                android:id="@+id/iv_d"
                android:layout_width="45dp"
                android:layout_height="45dp"
                android:background="@drawable/d"/>
            <TextView
                android:id="@+id/tv_xxd"
                android:layout_marginLeft="20dp"
                android:layout_width="wrap_content"
                android:layout_height="45dp"
                android:gravity="center_vertical"
                android:textColor="@color/black"
                android:textSize="20sp"
                android:text="1936"/>
        </LinearLayout>
    </LinearLayout>
    <LinearLayout


        android:layout_width="match_parent"
        android:layout_height="wrap_content">
   <LinearLayout
       android:layout_width="0dp"
       android:layout_weight="1.4"
       android:layout_height="wrap_content">
       <TextView
           android:id="@+id/tv_result"
           android:layout_width="wrap_content"
           android:layout_height="wrap_content"
           android:text=""
           android:textColor="#DC2A1D"
           android:textSize="20sp"
           android:layout_marginLeft="30dp"/>
   </LinearLayout>
        <LinearLayout
            android:layout_width="0dp"
            android:layout_weight="3.5"
            android:layout_height="wrap_content"
            android:id="@+id/ll_jiexi">
            <TextView
                android:layout_marginLeft="175dp"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="鏌ョ湅瑙f瀽"
                android:textColor="#F39203"
                android:textSize="20sp"/>
            <ImageView
                android:layout_width="27dp"
                android:layout_height="27dp"
                android:background="@drawable/question_down"/>
        </LinearLayout>

    </LinearLayout>
    <LinearLayout
        android:layout_marginTop="10dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">

        <TextView
            android:visibility="gone"
            android:id="@+id/tv_jiexi"
            android:layout_margin="15dp"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="11"/>

    </LinearLayout>


</LinearLayout>

新闻功能顺利实现,答题功能预计明天结束,之后开展功能整合,以及页面优化

 

posted @ 2023-05-26 23:33  -她的梦-  阅读(6)  评论(0编辑  收藏  举报