# AndroidStudio **Repository Path**: wei13013451000/android-studio ## Basic Information - **Project Name**: AndroidStudio - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-01-16 - **Last Updated**: 2024-01-26 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # [文档地址](https://developer.android.google.cn/?hl=zh-cn) distributionUrl=https://mirrors.cloud.tencent.com/gradle/gradle-8.2-bin.zip # 一.Adroid UI 组件层次结构 ![image-20240118142316791](README/image-20240118142316791.png) ## 1.view ![image-20240118140738389](README/image-20240118140738389.png) ![image-20240118140837095](README/image-20240118140837095.png) ![image-20240118141354678](README/image-20240118141354678.png) ## 2. viewGroup ![image-20240118141446022](README/image-20240118141446022.png) ![image-20240118141556856](README/image-20240118141556856.png) ![image-20240118141745999](README/image-20240118141745999.png) ![image-20240118142228479](README/image-20240118142228479.png) # 二.控制UI界面 ![image-20240118142439830](README/image-20240118142439830.png) ## 1.xml文件控制UI界面 ![image-20240118142634023](README/image-20240118142634023.png) ![image-20240118142747238](README/image-20240118142747238.png) ## 2.java代码控制UI界面 ![image-20240118144159194](README/image-20240118144159194.png) ![image-20240118144218408](README/image-20240118144218408.png) ```java package com.doudou; import android.app.AlertDialog; import android.app.DatePickerDialog; import android.content.DialogInterface; import android.graphics.Color; import android.preference.DialogPreference; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.util.TypedValue; import android.view.Gravity; import android.view.View; import android.view.ViewGroup; import android.widget.FrameLayout; import android.widget.TextView; public class MainActivity extends AppCompatActivity { @Override protected void onDestroy() { super.onDestroy(); Log.i("桌面台球", "onDestroy"); } @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); // setContentView(R.layout.activity_main); /** * java代码显示布局界面 */ FrameLayout frameLayout = new FrameLayout(this); frameLayout.setBackgroundColor(Color.rgb(17, 85, 0)); setContentView(frameLayout); TextView text1 = new TextView(this); text1.setText("开始游戏1"); text1.setTextSize(TypedValue.COMPLEX_UNIT_SP, 18); text1.setTextColor(Color.rgb(250, 250, 250)); FrameLayout.LayoutParams params = new FrameLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutParams.WRAP_CONTENT); params.gravity = Gravity.CENTER; text1.setLayoutParams(params); text1.setOnClickListener( new View.OnClickListener() { @Override public void onClick(View v) { new AlertDialog.Builder(MainActivity.this).setTitle("系统提示") .setMessage("游戏有风险,进入需要谨慎,要进入嘛?") .setPositiveButton("确定", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.i("桌面台球", "进入游戏"); } }).setNegativeButton("退出", new DialogInterface.OnClickListener() { @Override public void onClick(DialogInterface dialog, int which) { Log.i("桌面台球", "退出游戏"); finish(); } }).show(); } }); frameLayout.addView(text1); } } ``` ## 3.java代码和xml混合控制UI界面 **![image-20240118172630642](README/image-20240118172630642.png)** ![image-20240118195710633](README/image-20240118195710633.png) ```xml ``` ```java package com.doudou.xmljavlayou; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.ViewGroup; import android.widget.GridLayout; import android.widget.ImageView; public class MainActivity extends AppCompatActivity { private ImageView []img = new ImageView[4]; private int[] imgPath= new int[]{ R.mipmap.img01, R.mipmap.img02, R.mipmap.img03, R.mipmap.img04, }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); GridLayout layout = (GridLayout) findViewById(R.id.layout); for (int i=0;i ``` ```java package com.doudou.myviewrabbit; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.MotionEvent; import android.view.View; import android.widget.FrameLayout; public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FrameLayout frameLayout = (FrameLayout) findViewById(R.id.mylayout); final RabbitView rabbitView = new RabbitView(this); rabbitView.setOnTouchListener(new View.OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { rabbitView.bitmapX = event.getX(); rabbitView.bitmapY = event.getY(); rabbitView.invalidate();//重绘 return true; } }); frameLayout.addView(rabbitView); } } ``` ```java package com.doudou.myviewrabbit; import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Paint; import android.view.View; /** * Created by 25464 on 2024/1/18. */ public class RabbitView extends View { public float bitmapX; public float bitmapY; public RabbitView(Context context) { super(context); bitmapX= 50; bitmapY=50; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint paint = new Paint();//画笔 Bitmap bitmap= BitmapFactory.decodeResource(this.getResources(),R.mipmap.rabbit1); canvas.drawBitmap(bitmap,bitmapX,bitmapY,paint); if (bitmap.isRecycled()){ bitmap.recycle();//回收图片 } } } ``` # 三.布局管理器 ![image-20240118233011562](README/image-20240118233011562.png) ![image-20240118233053588](README/image-20240118233053588.png) ![image-20240118233156554](README/image-20240118233156554.png) ![image-20240118233248746](README/image-20240118233248746.png) ## 1.相对布局管理器relativeLayout ![image-20240118233357934](README/image-20240118233357934.png) ## 2.侦布局管理器 ![image-20240118234621212](README/image-20240118234621212.png) ## 3.表格布局管理器 ![image-20240118235136791](README/image-20240118235136791.png) ![image-20240119000010931](README/image-20240119000010931.png) ```xml