安卓學習 之 圖片控件和圖片按鈕

今天學習的是

ImageView               和                ImageButton

這兩個控件還是比較簡單的:先來看看最后的樣式圖片吧:

從圖片中可以看到ImageView中的圖片要大很多,這是因為中的ImageView中的圖片跟ImageView控件的大小而自動調整。

ImageButton中的圖片卻小很多,因為這里面的圖片沒有跟隨父容器的大小而做出調整,只是展示最原始的大小。

這兩個控件中還有兩個屬性要理解了:

第一個就是?android:src="@mipmap/wether"? ?這其中的src 是前景的意思? ?@的意思是:在...里面? 整句代碼的意思就是? ? 前景是在mipmap文件夾中的wether文件? 這樣就顯示了wenther這個圖片

這個圖片縮放的位置是:

我的Android Studio安裝在了E盤的Android文件夾里面了,所以我的圖片資源都放在這個目錄下:

E:\Android\release\code\app\src\main\res\mipmap-hdpi

好了今天的布局代碼是:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/main"android:layout_width="match_parent"android:layout_height="match_parent"tools:context=".ButtonActivity"android:orientation="vertical"android:gravity="center_horizontal"><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10sp"android:text="按鈕1"android:id="@+id/btn1"android:textSize="36sp"android:textColor="#FF0000"android:onClick="myclick"/><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10sp"android:text="按鈕2"android:id="@+id/btn2"android:textSize="36sp"android:textColor="#FF0000"android:onClick="myclick"/><Buttonandroid:layout_width="match_parent"android:layout_height="wrap_content"android:layout_margin="10sp"android:text="按鈕3"android:id="@+id/btn3"android:textSize="36sp"android:textColor="#FF0000"android:onClick="myclick"/><TextViewandroid:id="@+id/text1"android:layout_width="match_parent"android:layout_height="wrap_content"android:textSize="36sp"android:textColor="#FF0000"android:layout_margin="30sp"android:background="#00FFFF"/><ImageViewandroid:layout_width="200dp"android:layout_height="120dp"android:src="@mipmap/wether"android:tooltipText="天氣圖片"android:background="#00F0FF"/><ImageButtonandroid:layout_width="200dp"android:layout_height="120dp"android:src="@mipmap/wether"android:background="#ff00ff"/></LinearLayout>

今天的ButtonActivity的文件內容是:

package com.example.android1;import android.os.Bundle;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.widget.TextView;import androidx.activity.EdgeToEdge;
import androidx.annotation.NonNull;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;public class ButtonActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);EdgeToEdge.enable(this);setContentView(R.layout.activity_button);ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);return insets;});}public void myclick(View a){int id = a.getId();TextView text = findViewById(R.id.text1);if(id == R.id.btn1){Log.e("tag","按鈕1被點擊了");text.setText("按鈕1被點擊了");}else if(id == R.id.btn2){Log.e("tag","按鈕2被點擊了");text.setText("按鈕2被點擊了");}else if(id == R.id.btn3){Log.e("tag","按鈕3被點擊了");text.setText("按鈕3被點擊了");}}
}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/921644.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/921644.shtml
英文地址,請注明出處:http://en.pswp.cn/news/921644.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

動態規劃-學習筆記

這是一份動態規劃&#xff08;Dynamic Programming, DP&#xff09;完整學習筆記。筆記將從一星難度&#xff08;入門&#xff09;到五星難度&#xff08;進階&#xff09;&#xff0c;循序漸進&#xff0c;涵蓋核心思想、經典模型和解題方法論。 本來打算今天更新背包問題的題…

Linux 可信啟動深度解析:從UEFI到操作系統的信任鏈

文章目錄引言一、 可信根基&#xff1a;TPM與核心概念1.1 什么是“度量” (Measurement)&#xff1f;1.2 信任鏈與TPM PCR二、 階段一&#xff1a;固件的可信啟動 (UEFI)2.1 引導的起點&#xff1a;從SEC到DXE的初始化2.2 引導設備選擇 (BDS)&#xff1a;UEFI如何找到GRUB2.3 S…

61-python中面向對象三大特性

前言&#xff1a; 面向對象編程&#xff0c;是許多編程語言都支持的一種編程思想。簡單理解是&#xff1a;基于模板&#xff08;類&#xff09;去創建實體&#xff08;對象&#xff09;&#xff0c; 使用對象完成功能開發。面向對象包含三大主要特性&#xff1a; 封裝 繼承 多態…

BP-Adaboost模型

BP-Adaboost模型是一種將BP神經網絡作為弱分類器的集成學習框架&#xff0c;通過AdaBoost算法動態調整樣本權重和模型權重&#xff0c;顯著提升預測精度和泛化能力。一、模型架構與工作原理 1. 基礎框架 弱分類器單元&#xff1a;采用單隱藏層BP神經網絡&#xff08;結構示例&a…

k230 +canMV+ LVGL控件 仿手表表盤觸摸屏滾動、選中后彈窗效果完整示例程序

現在智能手表用的越來越多,其交互方式比較有特點,現在k230開發板上,基于LVGL(Light and Versatile Graphics Library)編寫一個嵌入式GUI應用程序,使用LVGL配合觸摸屏實現模仿智能手表的表盤滾動效果,實際效果如下: 程序使用LVGL圖形庫和MediaManager程序,創建帶有觸摸…

使用Vue.js和WebSocket打造實時庫存儀表盤

大家好&#xff01;今天我將分享一個簡單卻強大的實時庫存儀表盤項目&#xff0c;基于Vue.js和WebSocket技術。這個項目適合初學者學習前端實時數據處理&#xff0c;也能為你的技術博客或作品集增添亮點&#xff01;通過這個教程&#xff0c;你將學會如何使用WebSocket實現實時…

leecode100——接雨水

題目 雙指針 思路1 使用參數存儲從左往右&#xff08;從右往左同理&#xff09;遍歷時的最高的柱子&#xff0c; 然后移動左右的指針&#xff0c;每次移動左右指針中偏向小的&#xff0c; 如果當前指針指的柱子小于最高的柱子&#xff0c;就會存在接到水。 思路2 把水看作柱子&…

復古膠片風格街拍人像Lr調色教程,手機濾鏡PS+Lightroom預設下載!

調色教程復古膠片風格街拍人像 Lightroom 調色&#xff0c;通過模擬經典膠片相機的色彩科學&#xff0c;為現代數碼照片注入懷舊韻味。這種調色手法注重低飽和度色彩、柔和的高光過渡和豐富的暗部細節&#xff0c;配合適度的顆粒感&#xff0c;營造出時光沉淀的質感。特別適合街…

Linux的gpio子系統

GPIO其實也是某個pin的功能之一。上一小節講解了 pinctrl 子系統&#xff0c;pinctrl 子系統重點是設置 PIN(有的 SOC 叫做 PAD)的復用和電氣屬性&#xff0c;如果 pinctrl 子系統將一個 PIN 復用為 GPIO 的話&#xff0c;那么接下來就要用到 gpio 子系統了。gpio 子系統顧名思…

VC++ CPU指令集檢測工具實現原理

&#x1f4c8; VC CPU指令集檢測工具實現原理 例圖&#xff1a;&#x1f9e0; 1. 核心原理&#xff1a;CPUID指令 // 使用CPUID指令獲取CPU信息 int cpuInfo[4] { -1 }; __cpuid(cpuInfo, 0); // 調用CPUID指令 int nIds cpuInfo[0]; // 獲取最大標準功能號CPUID指令工作流程…

大模型微調理論、實戰:LLaMA-Factory、Unsloth

概述 微調&#xff0c;Fine-Tuning&#xff0c;簡稱FT&#xff0c;可理解為對LLM的定制&#xff0c;目的是增強專業領域知識&#xff0c;并優化特定任務的性能。通過在特定數據集上微調一個預訓練模型&#xff0c;可實現&#xff1a; 更新知識&#xff1a;引入新的領域專屬信…

【LCA 樹上倍增】P9245 [藍橋杯 2023 省 B] 景區導游|普及+

本文涉及知識點 樹上倍增 P9245 [藍橋杯 2023 省 B] 景區導游 題目描述 某景區一共有 NNN 個景點&#xff0c;編號 111 到 NNN。景點之間共有 N?1N-1N?1 條雙向的擺渡車線路相連&#xff0c;形成一棵樹狀結構。在景點之間往返只能通過這些擺渡車進行&#xff0c;需要花費…

基于Python+Streamlit的旅游數據分析與預測系統:從數據可視化到機器學習預測的完整實現

&#x1f3de;? 基于PythonStreamlit的旅游數據分析與預測系統&#xff1a;從數據可視化到機器學習預測的完整實現 &#x1f4dd; 前言 在大數據時代&#xff0c;旅游行業的數據分析變得越來越重要。如何從海量的旅游數據中挖掘有價值的信息&#xff0c;并進行準確的銷量預測&…

飛算JavaAI全鏈路實戰:智能構建高可用電商系統核心架構

飛算JavaAI全鏈路實戰&#xff1a;智能構建高可用電商系統核心架構 前言&#xff1a;AI編程新時代的電商系統開發范式變革 在當今數字經濟時代&#xff0c;電商系統作為企業數字化轉型的核心載體&#xff0c;其復雜度和技術要求與日俱增。一個完整的電商系統不僅需要處理商品、…

論文精讀(五):面向鏈接預測的知識圖譜表示學習方法綜述

筆者鏈接&#xff1a;撲克中的黑桃A 專欄鏈接&#xff1a;論文精讀 本文關鍵詞&#xff1a;知識圖譜; 表示學習; 鏈接預測; 多元關系; 超關系 引 諸位技術同仁&#xff1a; 本系列將系統精讀的方式&#xff0c;深入剖析計算機科學頂級期刊/會議論文&#xff0c;聚焦前沿突破…

Roo Code之自定義指令(Custom Instructions),規則(Rules)

在Roo Code 中&#xff0c;Custom Instructions 可以通過Instructions 設定和Rules 規則文件實現。什么是Custom Instructions&#xff1f; 自定義指令(Custom Instructions)定義了超出Roo基本角色定義范圍的具體行為、偏好和約束。示例包括編碼風格、文檔標準、測試要求和工作…

9/8我是ai大師

一、變量定義部分&#xff08;理解程序的 "記憶"&#xff09;c運行/* USER CODE BEGIN PV */ static uint8_t last_button_state 1; // 初始為高電平&#xff08;未按下&#xff09; static uint8_t device_mode 0; // 設備模式&#xff1a;0LD1, 1LD3, 2蜂鳴器, 3…

前沿重器[74] | 淘寶RecGPT:大模型推薦框架,打破信息繭房

前沿重器欄目主要給大家分享各種大廠、頂會的論文和分享&#xff0c;從中抽取關鍵精華的部分和大家分享&#xff0c;和大家一起把握前沿技術。具體介紹&#xff1a;倉頡專項&#xff1a;飛機大炮我都會&#xff0c;利器心法我還有。&#xff08;算起來&#xff0c;專項啟動已經…

jenkins加docker 部署項目

jenkins加docker 部署springboot項目 1項目結構Dockerfile 內容 FROM openjdk:8-jdk-alpine ARG JAR_FILEtarget/*.jar COPY ${JAR_FILE} app.jar ENTRYPOINT ["java","-jar","/app.jar","--server.port9090"]在A服務器上啟動jenkins …

提示詞工程(Prompt Engineering)的崛起——為什么“會寫Prompt”成了新技能?

&#x1f380;【開場 貓貓狐狐的對話】&#x1f43e;貓貓扒著屏幕&#xff1a;“喵&#xff1f;咱寫的這句 Prompt 怎么又跑偏啦&#xff1f;明明只是想讓它幫忙寫一段 Python 代碼&#xff0c;它偏要給咱寫論文摘要……” &#x1f98a;狐狐瞇著眼&#xff0c;聲音帶點冷意&a…