專案介紹
專案背景: 在我們生活中已經離不開手機了,而國內大部分手機使用的都是安卓系統,對于自己的手機,大家或多或少都想了解更多,手機是怎么顯示的呢?手機顯示其實就是很多個像素組成,而你知道手機的像素有多大嗎?有多少嗎?
專案目標: 解決人們對于手機的疑惑、解決此處省略600字;l
專案說明: 專案結構十分復雜,有多復雜呢,一時間也說不清楚,就簡單點說,專案是由兩個activity的生命周期組成,說到activity就有很多人就不明白了,現在市場上一般的app專案只會寫半個activity的生命周期,一個兩百人的公司就得編6個月,
可想而知,由兩個完整的activity的生命周期組成的app是有多復雜,
專案代碼解釋
第一個activity的代碼:
這個不用多說了,由兩個高深的點擊事件構成,不會點擊事件的也不必看這篇高深博文了;
去這學懂了點擊事件在來:https://blog.csdn.net/weixin_43621608/article/details/105870181
package com.example.sbdx;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class MainActivity2 extends AppCompatActivity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
editText=findViewById(R.id.ed);
Button button=findViewById(R.id.but);
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
dj();
}
});
}
public void dj(){
Intent intent=new Intent(MainActivity2.this,MainActivity.class);
String s= String.valueOf(editText.getText());
intent.putExtra("sb",s);
Toast.makeText(this,editText.getText(),Toast.LENGTH_LONG).show();
startActivity(intent);
}
}
接下來就是第二個activity了,懂的人自然懂,不懂的在去學吧,
package com.example.sbdx;
import androidx.appcompat.app.AppCompatActivity;
import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;
import android.view.WindowManager;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;
import com.example.sbdx.R;
import java.util.Random;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
LinearLayout linearLayout = findViewById(R.id.linear_layout);
Intent intent=getIntent();
String a=intent.getStringExtra("sb");
a.trim();
int sb=Integer.parseInt(a);
// int hh = linearLayout.getMeasuredWidth();
// int ww = linearLayout.getMeasuredHeight();
WindowManager wm = (WindowManager) this.getSystemService(this.WINDOW_SERVICE);
int width = wm.getDefaultDisplay().getWidth();
int height = wm.getDefaultDisplay().getHeight();
// Toast.makeText(this,hh+"::::"+ww,Toast.LENGTH_LONG).show();
// Toast.makeText(this,width+"::::"+height+":"+sb,Toast.LENGTH_LONG).show();
for (int j=0; j<height/sb; j++){
LinearLayout linearLayout1 = new LinearLayout(this);
LinearLayout.LayoutParams weight1 = new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.MATCH_PARENT, 1.0f);
linearLayout.setLayoutParams(weight1);
linearLayout1.setOrientation(LinearLayout.HORIZONTAL);
linearLayout.addView(linearLayout1);
for (int i=0; i<width/sb; i++){
// Toast.makeText(this,"dff",Toast.LENGTH_SHORT).show();
int r = (int) (Math.random()*255);
int b = (int) (Math.random()*255);
int g = (int) (Math.random()*255);
TextView textView = new TextView(this);
textView.setWidth(sb);
textView.setHeight(sb);
textView.setBackgroundColor(Color.rgb(r, g, b));
textView.setLayoutParams(weight1);
linearLayout1.addView(textView);
}
}
}
}
效果展示:
由于界面太多,就不一一展示了,


懂得都懂,,,,,,如果還說沒布局檔案的那就建議去看看《安卓第一行代碼》,,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/240085.html
標籤:其他
下一篇:安卓學習像素塊生成器專案
