1、使用碎片來進行一個最佳實踐,即咱們寫一個新聞的appjava
1.首先先創建一個新聞類android
package com.example.fragmentbestpractice; public class News { private String title; private String content; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getContent() { return content; } public void setContent(String content) { this.content = content; } }
2.而後咱們設置一個界面,也就是顯示新聞的界面git
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/news_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:singleLine="true" android:ellipsize="end" android:textSize="18sp" android:paddingLeft="10dp" android:paddingRight="10dp" android:paddingTop="15dp" android:paddingBottom="15dp" /> </LinearLayout>
這裏面有幾個新的屬性設置是咱們以前沒有見到過的,首先來看android:singLine設置爲true表明的就是TextView只能單行顯示;android:ellipse用於設定當文本內容超出控件的寬度的時候,文本的縮略方式,這裏指定成end表示在尾部進行縮略。github
3.接下來須要建立一個新聞列表的適配器,讓這個適配器繼承自ArrayAdapter,並將泛型指定爲News類,下面咱們新建NewsAdapter微信
package com.example.fragmentbestpractice; import java.util.List; import android.content.Context; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.TextView; public class NewsAdapter extends ArrayAdapter<News>{ private int resourceId; public NewsAdapter(Context context,int textViewResourceId,List<News> objects) { super(context,textViewResourceId,objects); resourceId = textViewResourceId; } @Override public View getView(int position,View convertView,ViewGroup parent) { News news = getItem(position); View view; if(convertView == null) { view = LayoutInflater.from(getContext()).inflate(resourceId,null); }else { view = convertView; } TextView newsTitleText = (TextView) view.findViewById(R.id.news_title); newsTitleText.setText(news.getTitle()); return view; } }
能夠看出來,在getView()方法中,咱們獲取到了相應位置上的News類,而且讓新聞的標題在列表中進行顯示。app
4.編寫新聞內容部分的代碼ide
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <LinearLayout android:id="@+id/visibility_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:visibility="invisible"> <TextView android:id="@+id/news_title" android:layout_width="match_parent" android:layout_height="wrap_content" android:gravity="center" android:padding="10dp" android:textSize="20sp" /> <ImageView android:layout_width="match_parent" android:layout_height="1dp" android:scaleType="fitXY" android:src="@drawable/split_line" /> <TextView android:id="@+id/news_content" android:layout_width="match_parent" android:layout_height="0dp" android:layout_weight="1" android:padding="15dp" android:textSize="18sp" /> </LinearLayout> <ImageView android:layout_width="1dp" android:layout_height="match_parent" android:layout_alignParentLeft="true" android:scaleType="fitXY" android:src="@drawable/split_line_vertical" /> </RelativeLayout>
3、源碼:學習
1.項目地址大數據
https://github.com/ruigege66/Android/tree/master/FragmentBestPractiseui
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公衆號:傅里葉變換,我的公衆號,僅用於學習交流,後臺回覆」禮包「,獲取大數據學習資料