android 布局资源写法


- 资源
----

 - 动画资源加载

res/anim 下创建资源

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:duration="300"
        android:fromYDelta="0"`这里写代码片`
        android:toYDelta="-100%p" />
    <rotate
        android:pivotX="4dp"
        android:pivotY="8dp"/>
    <alpha android:fromAlpha="5dp"/>

</set>
1 绘制资源类型(drawable)
  缩放可绘制资源
<?xml version="1.0" encoding="utf-8"?>
<scale xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/logo"
    android:scaleGravity="center_vertical|center_horizontal"
    android:scaleHeight="80%"
    android:scaleWidth="80%"/>
 形状可绘制资源
<?xml version="1.0" encoding="utf-8"?>
<!--shape   定义一个几何形状资源,它必须是根元素-->
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <!--gradient 为几何形状指定渐变色。-->
    <gradient
        android:angle="45"
        android:endColor="#80FF00FF"
        android:startColor="#FFFF0000" />
    <!--padding 它定义了与包含形状的View元素相适应的边距(这个边距是View对象内容的位置,而不是形状的位置)。-->
    <padding
        android:bottom="7dp"
        android:left="7dp"
        android:right="7dp"
        android:top="7dp" />
    <!--corners 给几何形状创建一个圆角,它只应用与矩形。-->
    <corners android:radius="100dp" />
    <!--size 它定义了几何形状的大小。-->
    <size
        android:width="70dp"
        android:height="70dp" />
    <!--solid定义填充几何形状的实体颜色。-->
    <solid
        android:width="7dp"
        android:height="7dp" />
    <!--stroke  给形状定义一个虚线。-->
    <stroke
        android:width="1dp"
        android:height="1dp" />
</shape>
 嵌入可绘制资源
<?xml version="1.0" encoding="utf-8"?>
<inset
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/drawable_resource"
    android:insetTop="dimension"
    android:insetRight="dimension"
    android:insetBottom="dimension"
    android:insetLeft="dimension"/>
裁剪可绘制资源
<?xml version="1.0" encoding="utf-8"?>
<clipxmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/android"
    android:clipOrientation="horizontal"
    android:gravity="left"/>
级别列表
<?xml version="1.0" encoding="utf-8"?>
<level-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:drawable="@drawable/ic_launcher"
        android:maxLevel="0" />
    <item
        android:drawable="@drawable/ic_launcher"
        android:maxLevel="1" />
</level-list>
过渡期绘制资源
<?xml version="1.0" encoding="utf-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="@drawable/on" />
    <item android:drawable="@drawable/off" />
</transition>
2 绘制资源类型(layout)
<?xml version="1.0" encoding="utf-8"?>
<ViewGroup xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@[+][package:]id/resource_name"
    android:layout_height=["dimension" | "fill_parent" | "wrap_content"]
    android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
    [ViewGroup-specific attributes] >
    <View
        android:id="@[+][package:]id/resource_name"
        android:layout_height=["dimension" | "fill_parent" | "wrap_content"]
        android:layout_width=["dimension" | "fill_parent" | "wrap_content"]
        [View-specific attributes] >
        <requestFocus/>
    </View>
    <ViewGroup >
        <View />
    </ViewGroup>
    <include layout="@layout/layout_resource"/>
</ViewGroup>

“`

Android 中使用 Socket 进行通讯可以分为服务端和客户端两种角色,下面分别介绍它们的写法: ### 服务端 服务端需要监听一个端口,并在有客户端连接时接受客户端的请求并返回响应。以下是服务端的基本写法: ```java try { // 创建一个 ServerSocket 对象,指定监听的端口号 ServerSocket serverSocket = new ServerSocket(8888); Log.d("Server", "Server started: " + serverSocket); while (true) { // 接受客户端的连接请求,返回一个 Socket 对象 Socket clientSocket = serverSocket.accept(); Log.d("Server", "Client connected: " + clientSocket); // 从输入流中读取客户端发送的数据 InputStream inputStream = clientSocket.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String request = reader.readLine(); // 读取一行数据 // 向输出流中入响应数据 OutputStream outputStream = clientSocket.getOutputStream(); outputStream.write("Hello, client!\n".getBytes()); // 关闭连接 clientSocket.close(); } } catch (IOException e) { e.printStackTrace(); } ``` ### 客户端 客户端需要连接到服务端指定的端口,并向服务端发送请求并接收响应。以下是客户端的基本写法: ```java try { // 创建一个 Socket 对象,指定服务端的 IP 地址和端口号 Socket socket = new Socket("server-ip-address", 8888); Log.d("Client", "Connected to server: " + socket); // 向输出流中入请求数据 OutputStream outputStream = socket.getOutputStream(); outputStream.write("Hello, server!\n".getBytes()); // 从输入流中读取服务端的响应数据 InputStream inputStream = socket.getInputStream(); BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream)); String response = reader.readLine(); // 读取一行数据 Log.d("Client", "Response from server: " + response); // 关闭连接 socket.close(); } catch (IOException e) { e.printStackTrace(); } ``` 注意,在 Android 中访问网络需要在 AndroidManifest.xml 中声明网络访问权限:`<uses-permission android:name="android.permission.INTERNET" />`。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

BACKWASH2038

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值