91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Android中怎么利用RadioGroup實現底部導航欄

發布時間:2021-06-28 15:56:45 來源:億速云 閱讀:240 作者:Leah 欄目:移動開發

Android中怎么利用RadioGroup實現底部導航欄,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

布局:

<?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"                 android:orientation="vertical">      <include layout="@layout/fragment_content"/>      <View         android:layout_width="match_parent"         android:layout_height="1px"         android:background="@color/grey_300"         android:elevation="20dp"/>      <RadioGroup         android:id="@+id/radio_group"         android:layout_width="match_parent"         android:layout_height="56dp"         android:layout_alignParentBottom="true"         android:background="@color/white"         android:orientation="horizontal">          <RadioButton             android:id="@+id/rb_home"             style="@style/radiobutton_style"             android:checked="true"             android:drawableTop="@drawable/radiobutton_bg_home"             android:text="@string/item_home"             />          <RadioButton             android:id="@+id/rb_location"             style="@style/radiobutton_style"             android:drawableTop="@drawable/radiobutton_bg_location"             android:text="@string/item_location"/>          <RadioButton             android:id="@+id/rb_like"             style="@style/radiobutton_style"             android:drawableTop="@drawable/radiobutton_bg_like"             android:text="@string/item_like"/>          <RadioButton             android:id="@+id/rb_me"             style="@style/radiobutton_style"             android:drawableTop="@drawable/radiobutton_bg_me"             android:text="@string/item_person"/>      </RadioGroup> </RelativeLayout>

這里的drawableTop使用了狀態選擇器

<selector xmlns:android="http://schemas.android.com/apk/res/android">     <item android:drawable="@drawable/home_fill" android:state_checked="true"/>     <item android:drawable="@drawable/home"/> </selector>

style

<style name="radiobutton_style">         <item name="android:layout_width">0dp</item>         <item name="android:padding">3dp</item>         <item name="android:layout_height">match_parent</item>         <item name="android:layout_weight">1</item>         <item name="android:button">@null</item><!--去除RadioButton默認帶的圓點-->         <item name="android:gravity">center</item>         <item name="android:textSize">12sp</item>     </style>

代碼

初始化的代碼就不記錄了,都是一些findViewById,實現過程無非就是對RadioButton進行監聽一下:

mRadioGroup.setOnCheckedChangeListener(this);       @Override     public void onCheckedChanged(RadioGroup group, int checkId) {         FragmentTransaction transaction = getFragmentManager().beginTransaction();         switch (checkId) {             case R.id.rb_home:                 if (mHomeFragment == null) {                     mHomeFragment = HomeFragment.newInstance(getString(R.string.item_home));                 }                 transaction.replace(R.id.sub_content, mHomeFragment);                 break;             case R.id.rb_location:                 if (mLocationFragment == null) {                     mLocationFragment = LocationFragment.newInstance(getString(R.string.item_location));                 }                 transaction.replace(R.id.sub_content, mLocationFragment);                 break;             case R.id.rb_like:                 if (mLikeFragment == null) {                     mLikeFragment = LikeFragment.newInstance(getString(R.string.item_like));                 }                 transaction.replace(R.id.sub_content, mLikeFragment);                 break;             case R.id.rb_me:                 if (mPersonFragment == null) {                     mPersonFragment = PersonFragment.newInstance(getString(R.string.item_person));                 }                 transaction.replace(R.id.sub_content, mPersonFragment);                 break;         }         setTabState();//設置狀態         transaction.commit();     }

狀態的設置

private void setTabState() {         setHomeState();         setLocationState();         setLikeState();         setMeState();      }      /**      * set tab home state      */     private void setHomeState() {         if (mRadioHome.isChecked()) {             mRadioHome.setTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary));         } else {             mRadioHome.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));         }     }      private void setLocationState() {         if (mRadioLocation.isChecked()) {             mRadioLocation.setTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary));         } else {             mRadioLocation.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));         }     }      private void setLikeState() {         if (mRadioLike.isChecked()) {             mRadioLike.setTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary));         } else {             mRadioLike.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));         }     }      private void setMeState() {         if (mRadioMe.isChecked()) {             mRadioMe.setTextColor(ContextCompat.getColor(getActivity(), R.color.colorPrimary));         } else {             mRadioMe.setTextColor(ContextCompat.getColor(getActivity(), R.color.black));         }     }

這里需要注意的是, setDefaultFragment();我寫在onCreateVew里面并沒有生效。這里我寫在了onStart()方法里了。

@Override    public void onStart() {        setDefaultFragment();//寫在onCreateView里面,當頁面跑到其他Fragment再回來就不會生效        super.onStart();    }

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

武宁县| 东海县| 遂昌县| 夏津县| 德安县| 东台市| 灵台县| 兴宁市| 威远县| 通化县| 江达县| 馆陶县| 泰安市| 东乡族自治县| 安阳市| 黄大仙区| 安顺市| 东光县| 宿迁市| 通江县| 陇西县| 绿春县| 东乡| 巴楚县| 治多县| 轮台县| 隆安县| 宣城市| 铁岭县| 阿勒泰市| 江达县| 石狮市| 宕昌县| 宁都县| 乌拉特前旗| 彰化县| 永顺县| 怀仁县| 确山县| 武安市| 长兴县|