日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

Android—TableLayout自定义表格

發布時間:2025/3/20 Android 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Android—TableLayout自定义表格 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

最近的一個項目中,需要用的表格,由于平時很少用到表格,所以,就準備到網上搜搜,發現可參考的很少,加上,自己也想多了解點TableLayout 布局,所欲就打算自己動手來實現自己需要的表格。先看看需求吧。



如圖,上面這幾個表格都差不多。主要區別:
1.列數不同
2.列的寬度不一定是均分的。
談下思路:
從圖我們可以看出,表頭和表格可以分為兩個表。因為樣式不一樣,而且,為了方便表中方便填充數據。
獲取屏幕寬度,設置單個列的寬度,其他列,則需要均分的就均分。

上代碼了:
tableview.xml 部分

<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:id="@+id/head_head"android:layout_width="match_parent"android:layout_height="wrap_content"android:orientation="vertical" ><TableLayout android:id="@+id/table_head"android:layout_width="wrap_content"android:layout_height="wrap_content"></TableLayout><TableLayout android:id="@+id/table_content"android:layout_width="wrap_content"android:layout_height="wrap_content"></TableLayout></LinearLayout>

table_head 是表頭 table_content 是表格
自定義的表格TableView :

package com.shone.table;import com.shone.androidtest.R;import android.app.Activity;/*** */import android.content.Context; import android.graphics.Color; import android.util.AttributeSet; import android.util.DisplayMetrics; import android.view.Gravity; import android.view.LayoutInflater; import android.view.View; import android.view.View.OnClickListener; import android.view.ViewGroup; import android.widget.RelativeLayout; import android.widget.TableLayout; import android.widget.TableRow; import android.widget.TextView;/*** @author docking**/ public class TableView extends RelativeLayout {public final static int LEFT_VISIBLE = 1;public final static int RIGHT_VISIBLE = 2;public final static int ALL_VISIBLE = 3;public final static int LEFT_RIGHT_VISIBLE = 4;private Context mContext = null;private TableLayout mtable = null;private final int WC = ViewGroup.LayoutParams.WRAP_CONTENT;private final int FP = ViewGroup.LayoutParams.MATCH_PARENT;private int rows, columns;private int width, height;private OnTableClick mOnTableClick;....................................... }class myListener implements OnClickListener {int col = 0;int row = 0;OnTableClick mOnTableClick;public myListener(int row, int col, OnTableClick mOnTableClick) {super();this.row = row;this.col = col;this.mOnTableClick = mOnTableClick;}@Overridepublic void onClick(View v) {mOnTableClick.onTableClickListener(row, col);} }interface OnTableClick {public abstract void onTableClickListener(int row, int col); }

在主布局文件中的使用activity_main.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="${relativePackage}.${activityClass}" ><com.shone.table.TableViewandroid:id="@+id/table"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="@string/hello_world" /></RelativeLayout>

配置activity

package com.shone.table;import java.util.List;import com.shone.androidtest.R;import android.app.Activity; import android.os.Bundle; import android.widget.Toast;public class MainActivity extends Activity {private TableView table ;private String[] mlistHead={"日期","類型","金額","操作"};@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);table = (TableView) findViewById(R.id.table);table.setTable(6,4, new OnTableClick() {@Overridepublic void onTableClickListener(int row, int column) {Toast.makeText(MainActivity.this, "row="+row+" column="+column,Toast.LENGTH_SHORT).show();}});table.setTableHead(mlistHead);table.setTableContent();}}

效果圖:

轉載請注明出處:http://blog.csdn.net/shoneworn/article/details/52223277

源碼下載:http://download.csdn.net/detail/shoneworn/9605350

轉載于:https://www.cnblogs.com/shoneworn/p/9029436.html

總結

以上是生活随笔為你收集整理的Android—TableLayout自定义表格的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。