android 类似淘宝物流详情布局

该博客介绍了如何在Android中创建类似淘宝物流详情的布局。通过使用ListView和自定义的适配器,实现了左右布局,左侧显示状态图标和竖线,右侧展示物流信息和时间。博主分享了在适配过程中遇到的问题,如竖线高度的调整,并提供了解决方案,最终采用View绘制竖线,达到理想效果。
摘要由CSDN通过智能技术生成



界面布局主要是通过listView来实现的,listView item 左右布局。左边是竖线,状态图片,竖线。右边 是 物流信息和 时间。

开始左边线的高度很不好适配,最后请教网友,用了layout_weight属性。

竖线本来使用的是ImageView显示,结果线的高度变小,宽度也随之变小,导致屏幕根本看不清左边布局中状态图片上的线。

最后采用了View来绘制竖线,效果还挺理想的额。

具体的布局如下:

[java]  view plain   copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <LinearLayout  
  3.        xmlns:android="http://schemas.android.com/apk/res/android"    
  4.        android:layout_width="fill_parent"    
  5.        android:layout_height="wrap_content"  
  6.        android:orientation="horizontal"  
  7.        >  
  8.       <LinearLayout   
  9.        android:layout_width="wrap_content"    
  10.        android:layout_height="fill_parent"  
  11.        android:layout_marginStart="10dip"   
  12.        android:orientation="vertical"  
  13.        android:gravity="center"  
  14.        >   
  15.         <View   
  16.             android:id="@+id/View_logistic_tracking_line1"  
  17.             android:layout_width="2dip"  
  18.             android:layout_height="20dip"     
  19.             android:background="#DCDCDC"/>  
  20.             <ImageView  
  21.             android:id="@+id/mgView_logistic_tracking_status"  
  22.             android:layout_width="wrap_content"    
  23.             android:layout_height="wrap_content"   
  24.             android:src="@drawable/logistics_state1"          
  25.             android:contentDescription="@string/app_name"  
  26.             />       
  27.        <View   
  28.             android:id="@+id/View_logistic_tracking_line2"  
  29.             android:layout_width=
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Android Studio 中,您可以使用 RecyclerView 和 GridLayout 来创建类似 Excel 的布局。 以下是一个示例: 1. 在 layout 文件夹中创建一个新的 XML 布局文件,例如 grid_layout.xml。 2. 在 XML 文件中添加以下代码: ```xml <androidx.recyclerview.widget.RecyclerView android:id="@+id/recycler_view" android:layout_width="match_parent" android:layout_height="match_parent" /> ``` 3. 在 Activity 中创建一个 RecyclerView,并将其与 GridLayoutManager 和 GridAdapter 连接起来: ```java public class MainActivity extends AppCompatActivity { private RecyclerView recyclerView; private GridAdapter gridAdapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.grid_layout); // 设置 RecyclerView recyclerView = findViewById(R.id.recycler_view); recyclerView.setLayoutManager(new GridLayoutManager(this, 4)); // 设置适配器 List<String> data = new ArrayList<>(); for (int i = 1; i <= 20; i++) { data.add("Cell " + i); } gridAdapter = new GridAdapter(data); recyclerView.setAdapter(gridAdapter); } } ``` 4. 创建一个 GridAdapter 类来处理 RecyclerView 的数据和视图: ```java public class GridAdapter extends RecyclerView.Adapter<GridAdapter.ViewHolder> { private List<String> data; public GridAdapter(List<String> data) { this.data = data; } @NonNull @Override public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.grid_cell, parent, false); return new ViewHolder(view); } @Override public void onBindViewHolder(@NonNull ViewHolder holder, int position) { holder.textView.setText(data.get(position)); } @Override public int getItemCount() { return data.size(); } public static class ViewHolder extends RecyclerView.ViewHolder { public TextView textView; public ViewHolder(@NonNull View itemView) { super(itemView); textView = itemView.findViewById(R.id.text_view); } } } ``` 5. 创建一个 grid_cell.xml 布局文件来定义每个单元格的外观: ```xml <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="wrap_content"> <TextView android:id="@+id/text_view" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:textColor="@android:color/black" android:padding="16dp" /> </LinearLayout> ``` 6. 运行应用程序,您应该看到一个包含 20 个单元格的 RecyclerView,每个单元格都包含一个文本视图。GridLayoutManger 将每个单元格排列成类似 Excel 表格的布局
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值