1. UI 界面 (1) button:收索按钮,实现查询功能。 (2) Textview:输出内容框,输出我们所需要的内容。 (3) EditText:输入内容框,用户可以任意输进一个字符。 2. 美化界面 (1) 根据用户输入的汉字输出的诗句中的关键字以红色字体标记。 (2) 根据用户需求设置 UI 界面的背景颜色以及 UI 界面中字体的大小和颜色。
1. 下载安卓开发软件 去官网上下载安装Andriod Studio,安装后下载相关 SDK。 (相关措施可以百度或质询同学)
2. 熟悉 Android Studio
(1)对UI界面的简单编辑
3.对文本文件的读取
(1)首先是先建立一个文件夹
(2)然后我们会在 app 的目录下找到一点 assets 文件,然后新建一个文档,再将唐诗三百放进其中。
4. UI 界面各组件的相应操作和代码实现
(1) 各组件的操作,如button,直接进行拖拉即可
(2)对组件的设置 点击组件,然后通过这些设置可以设置组件的颜色以及它内容中字体的大小和前景色。 (3) 各个组件的代码实现
& 对于textview
str="字符串"; TextView text = (TextView) findViewById(R.id.textview); text.setText(str);&对于button
Button bt; bt = (Button)findViewById(R.id.button1); bt.setOnClickListener(new View.OnClickListener(){ @Override //监听点击事件 public void onClick(View v) { //用户点击按钮执行的语句 } });&对于文件的处理
1. Scanner scan = new Scanner(getResources().getAssets().open("唐诗三百"));&对于关键字颜色的处理
from:http://www.2cto.com/kf/201409/335648.htmlpublic class MainActivity extends Activity { @Override PRotected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); String str="这是设置TextView部分文字背景颜色和前景颜色的demo!"; int bstart=str.indexOf("背景"); int bend=bstart+"背景".length(); int fstart=str.indexOf("前景"); int fend=fstart+"前景".length(); SpannableStringBuilder style=new SpannableStringBuilder(str); style.setSpan(new 15. BackgroundColorSpan(Color.RED),bstart,bend,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); style.setSpan(new ForegroundColorSpan(Color.RED),fstart,fend,Spannable.SPAN_EXCLUSIVE_INCLUSIVE); TextView tvColor=(TextView) findViewById(R.id.tv_color); tvColor.setText(style); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; }}&对于文本内容上下滑动与左右滑动
tv.setMovementMethod(ScrollingMovementMethod.getInstance()); tv.setHorizontallyScrolling(true);&java实现部分
import android.graphics.Color; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.text.Spannable; import android.text.SpannableStringBuilder; import android.text.method.ScrollingMovementMethod; import android.text.style.ForegroundColorSpan; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; import java.io.IOException; import java.util.Scanner; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Button button = (Button) findViewById(R.id.b); button.setOnClickListener(new View.OnClickListener() { @Override //监听点击事件 public void onClick(View v) { //读取输入的关键字 EditText Word =(EditText) findViewById(R.id.e); String thisword = word.getText().toString(); //记录收索到的结果条数 int sum=1; String line,ans = ""; String title=""; try { TextView text = (TextView) findViewById(R.id.t); Scanner scan = new Scanner(getResources().getAssets().open("唐诗三百")); out: while (scan.hasNext()){ line = scan.nextLine(); for (int i = 0; i < line.length(); i++) { if(line.charAt(i)=='《') { title = line; continue out; } if (line.indexOf(thisword)==i) { ans += sum+":"+line +"/n-------"+title+ "/n"; sum++; text.setText(ans); title=""; text.setMovementMethod(ScrollingMovementMethod.getInstance()); }else if(thisword=="。"||thisword=="?"||thisword==","||thisword=="!") break out; } //字体颜色 int k=0; SpannableStringBuilder style=new SpannableStringBuilder(ans); while( k >= 0) { int l=ans.indexOf(thisword, k); int r = l + thisword.length(); if (l == -1) break; k = l + 1; style.setSpan(new ForegroundColorSpan(Color.RED),l,r, Spannable.SPAN_EXCLUSIVE_INCLUSIVE); } text.setMovementMethod(ScrollingMovementMethod.getInstance()); text.setHorizontallyScrolling(true); text.setText(style); } } catch (IOException e) { TextView text = (TextView) findViewById(R.id.t); ans = "抱歉,你输入的内容不在唐诗三百首当中!"; text.setText(ans); } }(1)初始界面
(2)运行界面
新闻热点
疑难解答