내 응용 프로그램에 GridView가 있고 현재 화면 너비에 따라 열 수를 수동으로 설정하고 싶습니다.화면 크기에 따라 스타일이 다를 수 있습니까?
내가 시도한 것은 GridView에 적용해야하는 스타일을 설정하고 android:numColumns
속성을 다른 값으로 설정하여 values-w600dp
폴더에 대체 스타일을 제공하는 것입니다. 이것은 작동하지 않았다.
처음에 정수 리소스를 선언하고 일반적인 스타일로 사용하여이를 구현하는 방법에는 여러 가지가 있으며, 그 중 열 너비를 값으로 설정하고 GridView가 자동으로 허용하도록하는 방법이 있음을 알고 있습니다. 컬럼의 수를 결정하는 것은 아마도 가장 정상적인 해결책 일 것입니다.
그러나 아직 초기 시도가 효과가 없었던 이유가 궁금합니다. 문서에서 필자는 스타일이있는 XML 파일의 이름을 res/values
디렉토리에있는 한 지정할 수 있음을 알았습니다. 비슷한 것은 문자열과 문자열에 대해서도 지역화가 가능하기 때문에 문서가 작동하지 않거나 문자열과 같이 다른 res/values-...
디렉토리에 제공 될 수 있다는 것을 의미하는지 여부는 알 수 없습니다.
그래서 질문은 : 다른 구성에 대해 스타일을 제공 할 수 있습니까?
편집 : 파일
고해상도/값/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyGridView">
<item name="android:numColumns">1</item>
</style>
</resources>
고해상도/값-w400dp/styles.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<style name="MyGridView">
<item name="android:numColumns">2</item>
</style>
</resources>
고해상도/레이아웃/grid_fragment.xml
을 게시<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:paddingTop="?android:attr/actionBarSize"
>
<GridView
android:id="@+id/gridview"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:verticalSpacing="12dp"
android:paddingTop="12dp"
android:paddingBottom="12dp"
android:clipToPadding="false"
android:listSelector="@drawable/list_selector"
android:drawSelectorOnTop="true"
style="@style/MyGridView"
/>
</RelativeLayout>
나는 코드를 훔쳐서 문제를 발견했습니다. 나는 레이아웃 XML에서 어리석은 실수를 범했다 : style="MyGridView"
.
짧은 대답은 yes입니다 ... –
gridview 및 gridview에 대한 레이아웃을 게시하십시오. –
다행스럽게 생각해 냈습니다. –