Я хотел бы создать список кнопок, которые зависят от поддерживаемых параметров устройства;например, если камера устройства поддерживает настройку баланса белого и антиполосы, тогда отображаются 2 соответствующие кнопки, чтобы пользователь мог изменить эти настройки;но если я запускаю одно и то же приложение на устройстве, которое поддерживает только настройку баланса белого, отображается только одна кнопка.
Я знаю, как создать список кнопок в XML-файле макета, и знаю, какпроверить поддерживаемые параметры в файле активности .java, но я не вижу способа связать их вместе.
Любая помощь очень ценится.
FWIW, вотсоответствующие части моего кода до сих пор
активность .java файл
package com.MyProject;
import java.util.List;
import android.app.Activity;
import android.hardware.Camera;
import android.hardware.Camera.Size;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.Button;
public class CameraSettingActivity extends Activity {
private static final String TAG = "CameraSettingActivity";
private Object mCameraView;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.camera_setting);
Camera mCamera = Camera.open();
/* View mCameraView;*/
Camera.Parameters params = mCamera.getParameters();
// Get supported white balance modes
List<String> white_balance = params.getSupportedWhiteBalance();
if (white_balance!=null) {
String mString = white_balance.get(0);
Log.i(TAG, "CAMERA WHITE BALANCE : (" + mString + ")");
}
// Get supported antibanding modes
List<String> antibanding = params.getSupportedAntibanding();
if (antibanding!=null) {
String mString = antibanding.get(0);
Log.i(TAG, "CAMERA ANTIBANDING : (" + mString + ")");
}
mCamera.setParameters(params);
mCamera.release();
}
}
макет .xml файл
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:background="@color/green_background"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_vertical|center_horizontal"
android:text="@string/under_construction"
/>
<Button
android:id="@+id/white_balance_button"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:text="@string/white_balance"
/>
<Button
android:id="@+id/antibanding_button"
android:layout_width="100dip"
android:layout_height="wrap_content"
android:text="@string/antibanding"
/>
</LinearLayout>