mirror of
https://github.com/niushuai233/DevControl.git
synced 2024-10-27 22:43:20 +08:00
feat: gridview实现多个设备的展示效果
This commit is contained in:
parent
ff29ccbc8b
commit
ccf0ba86a6
@ -1,14 +1,25 @@
|
||||
package cc.niushuai.project.devcontrol.ui.nav.main.device;
|
||||
|
||||
import android.graphics.Color;
|
||||
import android.graphics.drawable.ColorDrawable;
|
||||
import android.os.Bundle;
|
||||
import android.view.LayoutInflater;
|
||||
import android.view.View;
|
||||
import android.view.ViewGroup;
|
||||
import android.widget.GridView;
|
||||
import android.widget.SimpleAdapter;
|
||||
import android.widget.TextView;
|
||||
|
||||
import androidx.fragment.app.Fragment;
|
||||
import androidx.gridlayout.widget.GridLayout;
|
||||
import androidx.lifecycle.ViewModelProvider;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import cc.niushuai.project.devcontrol.R;
|
||||
import cc.niushuai.project.devcontrol.databinding.MainNavFragmentDeviceBinding;
|
||||
|
||||
/**
|
||||
@ -19,27 +30,50 @@ import cc.niushuai.project.devcontrol.databinding.MainNavFragmentDeviceBinding;
|
||||
*/
|
||||
public class NavDeviceFragment extends Fragment {
|
||||
|
||||
private MainNavFragmentDeviceBinding navFragmentDeviceBinding;
|
||||
private MainNavFragmentDeviceBinding binding;
|
||||
|
||||
@Override
|
||||
public View onCreateView(LayoutInflater inflater, ViewGroup container,
|
||||
Bundle savedInstanceState) {
|
||||
|
||||
navFragmentDeviceBinding = MainNavFragmentDeviceBinding.inflate(inflater, container, false);
|
||||
binding = MainNavFragmentDeviceBinding.inflate(inflater, container, false);
|
||||
|
||||
NavDeviceViewModel navDeviceViewModel = new ViewModelProvider(this).get(NavDeviceViewModel.class);
|
||||
View rootView = navFragmentDeviceBinding.getRoot();
|
||||
View rootView = binding.getRoot();
|
||||
|
||||
// TextView textView = navFragmentDeviceBinding.navDeviceFragmentTextview;
|
||||
//
|
||||
// navDeviceViewModel.getText().observe(getViewLifecycleOwner(), textView::setText);
|
||||
|
||||
setDevices();
|
||||
|
||||
return rootView;
|
||||
}
|
||||
|
||||
private void setDevices() {
|
||||
|
||||
// GridLayout deviceGridLayout = binding.deviceGridLayout;
|
||||
GridView deviceGv = binding.deviceGv;
|
||||
deviceGv.setSelector(new ColorDrawable(Color.TRANSPARENT));
|
||||
|
||||
List<HashMap<String, Object>> dataItem = new ArrayList<>();
|
||||
for (int i = 0; i < 3; i++) {
|
||||
HashMap<String, Object> m1 = new HashMap<>();
|
||||
|
||||
m1.put("device_item_imageView", R.drawable.ic_mark_as_read);
|
||||
m1.put("device_item_textView", "卧室灯" + i);
|
||||
dataItem.add(m1);
|
||||
}
|
||||
|
||||
SimpleAdapter gvAdapter = new SimpleAdapter(getContext(), dataItem, R.layout.device_item,
|
||||
new String[]{"device_item_imageView", "device_item_textView"}, new int[]{R.id.device_item_imageView, R.id.device_item_textView});
|
||||
|
||||
deviceGv.setAdapter(gvAdapter);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void onDestroyView() {
|
||||
super.onDestroyView();
|
||||
navFragmentDeviceBinding = null;
|
||||
binding = null;
|
||||
}
|
||||
}
|
25
app/src/main/res/layout/device_item.xml
Normal file
25
app/src/main/res/layout/device_item.xml
Normal file
@ -0,0 +1,25 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
android:layout_width="fill_parent"
|
||||
android:layout_height="fill_parent"
|
||||
>
|
||||
|
||||
|
||||
<ImageView
|
||||
android:id="@+id/device_item_imageView"
|
||||
android:layout_width="56dp"
|
||||
android:layout_height="56dp"
|
||||
app:srcCompat="@drawable/ic_home"
|
||||
android:layout_centerHorizontal="true"
|
||||
/>
|
||||
|
||||
<TextView
|
||||
android:id="@+id/device_item_textView"
|
||||
android:layout_width="wrap_content"
|
||||
android:layout_height="wrap_content"
|
||||
android:layout_below="@id/device_item_imageView"
|
||||
android:layout_centerHorizontal="true"
|
||||
android:text="TextView"
|
||||
/>
|
||||
</RelativeLayout>
|
@ -6,16 +6,24 @@
|
||||
xmlns:app="http://schemas.android.com/apk/res-auto"
|
||||
tools:context=".ui.nav.main.device.NavDeviceFragment">
|
||||
|
||||
<TextView
|
||||
android:id="@+id/nav_device_fragment_textview"
|
||||
<RelativeLayout
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:background="@color/teal_200"
|
||||
android:text="@string/hello_blank_fragment"
|
||||
android:textAlignment="center"
|
||||
app:layout_constraintBottom_toBottomOf="parent"
|
||||
app:layout_constraintEnd_toEndOf="parent"
|
||||
app:layout_constraintStart_toStartOf="parent"
|
||||
app:layout_constraintTop_toTopOf="parent"/>
|
||||
android:layout_height="match_parent">
|
||||
|
||||
<androidx.gridlayout.widget.GridLayout
|
||||
android:id="@+id/device_gridLayout"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
app:columnCount="2">
|
||||
|
||||
</androidx.gridlayout.widget.GridLayout>
|
||||
|
||||
<GridView
|
||||
android:id="@+id/device_gv"
|
||||
android:layout_width="match_parent"
|
||||
android:layout_height="match_parent"
|
||||
android:numColumns="2"
|
||||
/>
|
||||
|
||||
</RelativeLayout>
|
||||
</androidx.constraintlayout.widget.ConstraintLayout>
|
Loading…
x
Reference in New Issue
Block a user