我正在开发一个Android项目,我想渲染一些化学公式.
我写了下面的代码,得到了以下结果.
我创建一个自定义字符串并在textview中显示它.
但我的问题是:这是最好的方法吗?还有另一种方法可以解决这个问题吗?
str = new SpannableString(Html.fromHtml("2H<sup>+</sup> + So<sub size = 2>4</sub><sup size = 2>2-</sup> --> H<sub size =2>2</sub>So<sub size = 2>4</sub>"));
ss1.setSpan(new RelativeSizeSpan(0.6f), 2,3, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 8,11, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 17,18, 0); // set size
ss1.setSpan(new RelativeSizeSpan(0.6f), 20,21, 0); // set size
TempF.setText(ss1,TextView.BufferType.SPANNABLE);
Run Code Online (Sandbox Code Playgroud)
我是android编程的新手!我想要像Hill Climb Racing这样的全屏图像(如下所示)
我尝试使用
requestWindowFeature(Window.FEATURE_NO_TITLE);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);
Run Code Online (Sandbox Code Playgroud)
但它只是消失动作栏,我想消失动作栏和Android默认键栏(主页按钮,后面和另一个)
我正在开发一个拥有viewpager的android项目.我为我的viewpager写了一个适配器,我的适配器由s scrollview和里面的一些视图组成.
我想当用户点击滚动视图时,会发生一些事情(我也写了这部分并测试它并且它有效).
我为我的scrollview实现了onClickListener,但是当用户点击它时它不会被触发.
我已经读过这个,但这对我不起作用.
我的onClickListener代码就在这里
rootView = inflater.inflate(R.layout.level_selector_list_view_adapter, container, false);
ScrollView scroll = (ScrollView) rootView.findViewById(R.id.level_selector_view_scroll_view);
scroll.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
Log.e(MainActivity.WATERMELON_TAG, "Click!!!");
}
});
Run Code Online (Sandbox Code Playgroud)
我的布局代码是这样的:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="@dimen/level_selector_values_main_page_view_pager_width"
android:layout_height="wrap_content"
android:orientation="vertical" >
<ScrollView
android:id="@+id/level_selector_view_scroll_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="true"
tools:ignore="UselessParent" >
<FrameLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:clickable="false"
tools:ignore="UselessParent" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:clickable="false"
android:orientation="vertical" >
<ImageView
android:id="@+id/level_selector_view_pager_adapter_level_logo"
android:layout_width="@dimen/level_selector_values_view_pager_adapter_level_logo_width"
android:layout_height="@dimen/level_selector_values_view_pager_adapter_level_logo_height"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/level_selector_values_view_pager_adapter_level_logo_top_margin"
android:clickable="false"
android:scaleType="fitXY"
tools:ignore="ContentDescription" />
<TextView
android:id="@+id/level_selector_view_pager_adapter_level_name"
android:layout_width="@dimen/level_selector_values_view_pager_adapter_level_name_width"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginTop="@dimen/level_selector_values_view_pager_adapter_level_name_top_margin"
android:clickable="false"
android:gravity="center"
android:textColor="@color/level_selector_values_level_name_font_color"
android:textSize="@dimen/level_selector_values_level_name_font_size" /> …
Run Code Online (Sandbox Code Playgroud) java android android-fragments android-scrollview onclicklistener
我试图在c ++中创建一个int 2D数组的向量,但我的下面的代码有一些我无法理解的错误?!
vector< int[2][2] > vec;
int a[2][2];
vec.push_back(a);
Run Code Online (Sandbox Code Playgroud)
我不想在我的vetor中使用int**(并使用new创建一个2D数组)
我知道每个2D数组只有2个col和row(大小是静态的)
那么有没有办法实现该向量?
我也尝试将一个数组推送回vecotr并且它也没有成功!为什么?
vector< int[2] > vec;
int a[2];
vec.push_back(a);
Run Code Online (Sandbox Code Playgroud)
提前致谢
我试图理解C++中的继承.
我想在派生类中动态创建一个数组,并将数组指针传递给基类,然后基类填充数组.最后,我想从派生类中打印数组.
我写了下面的代码,但是当我运行它时,程序崩溃了,我得到了一个分段错误错误.
我应该如何实现这个?!
class Base {
private:
int* array;
public:
Base(int* a) {
array = a;
for(int i = 0 ; i < 10 ; i++) {
array[i] = i;
}
}
};
class Child : public Base {
private:
int* array;
public:
Child() : array(new int[10]), Base(array) {}
void print() {
for(int i = 0 ; i < 10 ; i++) {
cout << array[i] << endl;
}
}
};
Run Code Online (Sandbox Code Playgroud)