前文: 桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 Part 7 导航:
桃词典 Peach Dictionary 简易英语词典app开发 安卓软件开发 The End 导航页及收尾工作
四、查单词功能的实现。
(1)取消Bottom Navigation Activity模板的顶栏空白。
将
android:paddingTop="?attr/actionBarSize" 删除即可取消Bottom Navigation Activity模板的顶栏空白。
(2)实现安卓9.0后webview载入网页。
在manifest添加
android:usesCleartextTraffic="true" 即可实现。
(3)以OneFragment为查询单词界面,进行UI布局。
fragment_one.xml
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="schemas.android.com/apk/res/and…" xmlns:app="schemas.android.com/apk/res-aut…" xmlns:tools="schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:background="#FFFFFF" app:layout_constraintGuide_percent="0.75">
<EditText
android:id="@+id/editTextTextPersonName3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="16dp"
android:ems="12"
android:hint="@string/search"
android:imeOptions="actionSearch"
android:inputType="textPersonName"
android:minHeight="48dp"
android:singleLine="true"
app:layout_constraintEnd_toStartOf="@+id/guideline11"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/guideline9" />
<ImageButton
android:id="@+id/imageButton7"
android:layout_width="50dp"
android:layout_height="50dp"
android:backgroundTint="#00FFFFFF"
android:contentDescription="@string/TODO"
android:src="@drawable/ic_baseline_search_24"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="@+id/guideline11"
app:layout_constraintTop_toTopOf="parent" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
app:layout_constraintGuide_percent="0.03" />
<androidx.constraintlayout.widget.Guideline
android:id="@+id/guideline11"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical"
app:layout_constraintGuide_begin="312dp"
app:layout_constraintGuide_percent="0.7" />
<ImageView
android:id="@+id/imageView8"
android:layout_width="50dp"
android:layout_height="50dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.506"
app:layout_constraintStart_toStartOf="@+id/guideline11"
app:layout_constraintTop_toBottomOf="@+id/imageButton7"
app:layout_constraintVertical_bias="0.0"
app:srcCompat="@drawable/ic_baseline_close_24" />
<WebView
android:id="@+id/webview"
android:layout_width="409dp"
android:layout_height="629dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
需要用到的矢量图:
@drawable/ic_baseline_close_24 @drawable/ic_baseline_search_24 (4) 在Manifest添加权限。(互联网权限)
(5)锁定导航栏,防止软键盘将导航栏顶起。在Manifest的activity里:
即可解决。
(6)编辑OneFragment的代码。
OneFragment.java
package com.example.peachdictionary;
import android.os.Bundle;
import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.fragment.app.Fragment;
import android.view.KeyEvent; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.view.inputmethod.EditorInfo; import android.webkit.WebView; import android.widget.EditText; import android.widget.ImageButton; import android.widget.ImageView; import android.widget.TextView;
public class OneFragment extends Fragment {
@Nullable
@Override
public View onCreateView(@NonNull LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_one, container, false);
return view;
}
@Override
public void onActivityCreated(@Nullable Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
WebView webView = getView().findViewById(R.id.webview);
ImageButton imageButton7 = getView().findViewById(R.id.imageButton7);
imageButton7.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getdata();
}
});
//软键盘
EditText editText = getView().findViewById(R.id.editTextTextPersonName3);
editText.setOnEditorActionListener(new TextView.OnEditorActionListener() {
@Override
public boolean onEditorAction(TextView v, int actionId, KeyEvent event) {
if (actionId == EditorInfo.IME_ACTION_SEARCH) {
getdata();
}
return false;
}
});
ImageView imageView8 = getView().findViewById(R.id.imageView8);
imageView8.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
//链接一张白色图片
webView.loadUrl("https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.110go.com%2Fupload%2Ftpk%2F180743034.jpg&refer=http%3A%2F%2Fimage.110go.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1642493799&t=0b0f3e6ac47ea94df25b112ff7ea53a6");
}
});
}
public void getdata() {
EditText editText = getView().findViewById(R.id.editTextTextPersonName3);
String str = editText.getText().toString();
WebView webView = getView().findViewById(R.id.webview);
webView.loadUrl("http://m.youdao.com/dict?le=eng&q="+str);
}
}
实现效果:
———————————————— 版权声明:本文为CSDN博主「SEMHAQ」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/weixin_6062…